Я пытаюсь использовать новую функцию комплектации в проекте, который я недавно преобразовал из бета-версии MVC 3 в MVC 4. Для этого требуется строка кода в global.asax BundleTable.Bundles.RegisterTemplateBundles();
, которая требуется using System.Web.Optimization;
вверху.
Когда я делаю это, я получаю красные волнистые линии, на которых написано: «Вам не хватает ссылки на сборку?» Когда я пытаюсь добавить ссылку и нажимаю на вкладку .NET в диалоге, сортировать по AZ, я не вижу System.Web.Optimization
.
Как добавить эту ссылку в мой проект?
System.Web.Optimization
узел в мои ссылки.Ответы:
Доступно обновление версии 1.1.x, прочтите примечания к выпуску: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
Пакет Microsoft.Web.Optimization теперь устарел. С ASP.NET (MVC) 4 и выше вы должны установить Microsoft ASP.NET Web Optimization Framework:
Установите пакет из nuget :
Создайте и настройте пакет (ы) в App_Start \ BundleConfig.cs:
Вызовите функцию RegisterBundles () из Application_Start () в вашем global.asax.cs:
В ваш view.cshtml включите пространство имен Оптимизация и выполните рендеринг комплекта:
См. Http://www.asp.net/mvc/overview/performance/bundling-and-minification для получения дополнительной информации.
источник
В финальной версии ASP.Net MVC 4 этот подход выглядит следующим образом:
Установите Microsoft.AspNet.Web.Optimization через nuget (так как он не установлен платформой)
Создайте пакет в Global.asax Application_Start:
Добавьте пространство имен «System.Web.Optimization» в файл «Views» web.config:
В вашем view.cshtml добавьте включение в пакет, созданный на последнем шаге:
В режиме отладки все файлы скриптов в вашем каталоге будут отображаться индивидуально; в режиме выпуска они будут объединены и минимизированы.
источник
".js"
файлам. Внутриpublic static void RegisterBundles(BundleCollection bundles) { ... }
вы должны быть в состоянии сделать что-то подобное,bundles.Add(new StyleBundle("~/CssBundle"));
и он будет захватывать все файлы CSS в вашейCssBundle
папке. Вы не хотите,ScriptBundle
как в примере с файлами CSS.Обновите (переустановите) пакет из nuget, вы можете использовать команду:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
источник
В моем случае это была проблема tfs, так как tfs исключает двоичные файлы, поэтому Nugget PM находит установленный слепок и не обновляет библиотеку. Если у вас есть похожая проблема:
NB: папка пакета находится на том же уровне, что и файл yousolution.sln
источник
Использование nuget для удаления System.Web.Optimization в консоли диспетчера пакетов, например:
Пакет деинсталляции Microsoft.AspNet.Web.Optimization
Затем переустановите с помощью:
Инсталляционный пакет Microsoft.AspNet.Web.Optimization
Может решить эту проблему для вас.
источник
Установите его из NUGet через Visual Studio. Откройте Visual Studio 2010, выберите Инструменты-> Диспетчер пакетов библиотеки-> Консоль диспетчера пакетов.
Это откроет консоль, вставьте
и войти. и вы сделали
источник
установить в Global.asax application_start (в режиме RELEASE и т. д.):
включить минификацию и изменить на false в режиме отладки, чтобы отрисовывать все файлы скриптов и стилей по отдельности.
источник
<compilation debug="true" />
установлено (что является довольно стандартным при сборке отладочной версии), оптимизация не происходит. Обычно этот параметр автоматически удаляется в сборке выпуска.BundleTable.EnableOptimizations
должен использоваться только для отмены web.config. Для получения дополнительной информации: asp.net/mvc/tutorials/mvc-4/bundling-and-minification (поиск «Управление связыванием и минимизацией»)BundleTable.EnableOptimizations = false;
потому что в вашем BundleConfig.cs вы указываете все предварительно минимизированные файлы и не хотите, чтобы он выполнял для них другую минимизацию.