System.Web.Optimization и Microsoft.Web.Optimization не будут загружать ссылку в vs 2012
Я работаю над проектом MVC 4, запущенным в Visual Studio 2010. Сейчас я работаю над машиной с Visual Studio 2012, так как у меня нет доступа к машине, с которой я работал. Я пробовал все утро, чтобы найти ответы, но они, похоже, не помогают моей ситуации.
Я следил за Как добавить ссылку на System.Web.Optimization для приложения MVC-3 с конверсией в приложение и установить с nuget прямо в мое решение. Несмотря на то, что у меня есть все необходимые пакеты ссылок, загруженные и установленные на моей машине, System.Web.Optimization
продолжает оставаться пропавшим. Есть ли что-нибудь еще, что я могу сделать?
Изменить: когда я пытаюсь построить проект, я получаю следующие ошибки.
- Тип или имя пространства имен "Оптимизация" не существует в пространстве имен "System.Web" (вам не хватает ссылки на сборку?) - BundleConfig.cs
- Тип или имя пространства имен "Оптимизация" не существует в пространстве имен "System.Web" (вам не хватает ссылки на сборку?) - Global.asax.cs
- Не удалось найти тип или пространство имен "BundleCollection" (вам не хватает директивы using или ссылки на сборку?) - BundleConfig.cs
My BundleConfig.cs содержит
using System.Web;
using System.Web.Optimization;
namespace BCCDC_AdminTool
{
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/? LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.resizable.css",
"~/Content/themes/base/jquery.ui.selectable.css",
"~/Content/themes/base/jquery.ui.accordion.css",
"~/Content/themes/base/jquery.ui.autocomplete.css",
"~/Content/themes/base/jquery.ui.button.css",
"~/Content/themes/base/jquery.ui.dialog.css",
"~/Content/themes/base/jquery.ui.slider.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.theme.css"));
}
}
}
Ответы
Ответ 1
Это длинный снимок, но здесь все равно, щелкните правой кнопкой мыши по проекту → Страницы свойств и убедитесь, что существует запись System.Web.Optimization. Если нет, скопируйте файл System.Web.Optimization.dll в папку bin или импортируйте его в качестве ссылки.
Изменить: проекты mvc не имеют опции меню "Страницы свойств".
Еще одна вещь, которую вы можете попробовать - создать новый базовый проект mvc4, перейти в папку bin решения и скопировать файл System.Web.Optimization.dll в папку bin другого проекта, которая дает вам ошибку. Если вы не можете найти dll, попробуйте обновить пакеты nuget.
Ответ 2
У меня была та же проблема с проектом VS2010, который я открыл в VS2012. Пакет Microsoft.AspNet.Web.Optimization отсутствовал, поэтому мне просто нужно было загрузить его с помощью диспетчера пакетов Nuget.
Вы можете запустить консоль: Install-Package Microsoft.AspNet.Web.Optimization
Ответ 3
Я знаю, что это запутывает, но вам нужно Install-Package Microsoft.AspNet.Web.Optimization
Ответ 4
Попробуйте перейти к web.config в папке "Виды" и удалите следующую строку:
<add namespace="System.Web.Optimization" />
Это исправило это для меня.
Ответ 5
Перейти к инструментам → Диспетчер пакетов библиотек → Управление пакетами Nuget → установка рамок веб-оптимизации Microsoft ASP.NET
Ответ 6
Я боролся с этим в течение часа, и ни одно из приведенных выше предложений не срабатывало. В итоге только следующие работы (по какой-то тупой причине):
- ctrl-q → введите "консоль диспетчера пакетов"
-
Uninstall-Package Microsoft.AspNet.Web.Optimization <problem project name>
-
Install-Package Microsoft.AspNet.Web.Optimization <problem project name>
ПРЕДУПРЕЖДЕНИЕ /HEADS -UP
- выше будет установлена последняя версия
Microsoft.AspNet.Web.Optimization
. Если вы хотите использовать определенную версию (например, v1.1.1), используйте Install-Package Microsoft.AspNet.Web.Optimization <problem project name> -Version 1.1.1
- не забывайте, что параметр
<problem project name>
или nuget будет работать на уровне решения, возможно, попирать проекты для сестер.
- Обратите внимание, что опускание имени проекта само по себе очень удобно для выполнения обновлений версии пакета решений или пакетов.
Ответ 7
Удаление и переустановка пакета Microsoft.AspNet.Web.Optimization решила его для меня.
Ответ 8
Переустановка system.web.optimizaiton с помощью диспетчера пакетов Nuget решила эту проблему для меня.
Ответ 9
Я исправил эту проблему, установив ссылку на сборку System.Web.Optimization.dll, чтобы скопировать local в true.
Ответ 10
Что работало для меня в определенном сценарии (я загрузил проект MVC из исходного элемента управления и получил эту ошибку), было открыть новый проект MVC в том же решении. Впоследствии я смог удалить новый проект, который я создал, и он все еще работает (на VS2012).
Ответ 11
Я знаю, что есть много ответов на эту проблему, но дайте этому попробовать-открыть проект в визуальной студии как администратор. Это решило в моем случае.