Как добавить ссылку на System.Сеть.Оптимизация для приложения MVC-3-converted-to-4
Я пытаюсь использовать новую функцию связывания в проекте, который я недавно преобразовал из MVC 3 в MVC 4 beta. Для этого требуется строка кода в global.асакс,BundleTable.Bundles.RegisterTemplateBundles();, который требует using System.Web.Optimization; в верхней части.
когда я это делаю, я получаю красные волнистые линии, которые говорят: "вам не хватает ссылки на сборку?"Когда я пытаюсь добавить ссылку и нажать на вкладку .NET в диалоговом окне, сортировать из A-Z, я не вижу System.Web.Optimization.
как добавить эту ссылку в мой проект? Спасибо.
7 ответов:
Microsoft.Сеть.Пакет оптимизации теперь устарел. С помощью ASP.NET (MVC) 4 и выше вы должны установить Microsoft ASP.NET структура веб-оптимизации:
установите пакет из nuget:
Install-Package Microsoft.AspNet.Web.Optimizationсоздание и настройка пакетов в App_Start\BundleConfig.cs:
public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/Scripts/jquery").Include( "~/Scripts/Lib/jquery/jquery-{version}.js", "~/Scripts/Lib/jquery/jquery.*", "~/Scripts/Lib/jquery/jquery-ui-{version}.js") ); bundles.Add(new ScriptBundle("~/Scripts/knockout").Include( "~/Scripts/Lib/knockout/knockout-{version}.js", "~/Scripts/Lib/knockout/knockout-deferred-updates.js") ); } }вызовите функцию RegisterBundles() из Application_Start () в вашем глобальный.асакс.cs:
using System.Web.Optimization; protected void Application_Start() { ... BundleConfig.RegisterBundles(BundleTable.Bundles); ... }на ваш взгляд.cshtml включает пространство имен оптимизации и отображает пакет (ы):
@using System.Web.Optimization @Scripts.Render("~/Scripts/jquery") @Scripts.Render("~/Scripts/knockout")см.http://www.asp.net/mvc/overview/performance/bundling-and-minification для получения дополнительной информации
обновление
Версия 1.1.x доступен, прочитайте примечания к выпуску:https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
С окончательной выпущенной версией ASP.Net MVC 4 подход заключается в следующем:
Установить Microsoft.сеть САШ.Сеть.Оптимизация через nuget (так как он не установлен фреймворком)
install-package Microsoft.AspNet.Web.Optimizationсоздать пакет в глобальном.эйсакс событий Application_Start:
var scripts = new ScriptBundle("~/MyBundle"); scripts.IncludeDirectory("~/Scripts/MyDirectory", "*.js"); BundleTable.Bundles.Add(scripts);добавить системы".Сеть.Оптимизация "пространства имен для веб-сайта "представления".config:
<pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Optimization" /> </namespaces> </pages>на ваш взгляд.cshtml по добавить включить в пакет, созданный на последнем шаге:
@Scripts.Render("~/MyBundle")в режиме отладки все файлы сценариев в вашем каталоге будут отображаться индивидуально; в режиме выпуска они будут объединены и уменьшены.
в моем случае это была проблема tfs, так как TFS исключает двоичные файлы, поэтому самородок PM находит установленный самородок и не обновляет библиотеку Если у вас есть аналогичная проблема:
- перейти к системе управления версиями
- перейдите к ..\packages\Microsoft.Сеть.Оптимизация
- Добавить папку lib (снимите флажок исключить двоичные расширения)
- обновите свое решение и добавьте ссылку на dll из пути
NB: папка пакета находится в тот же уровень yousolution.sln file
обновить (переустановить) пакет из nuget, вы можете использовать команду:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
использование nuget для удаления системы.Сеть.Оптимизация в консоли диспетчера пакетов выглядит следующим образом:
Удалить-Пакет Microsoft.сеть САШ.Сеть.Оптимизация
затем переустановите с помощью:
Установить Пакет Microsoft.сеть САШ.Сеть.Оптимизация
может решить эту проблему для вас.
установить с NUGet через Visual Studio Откройте Visual Studio 2010, выберите сервис - > Диспетчер пакетов библиотек - > консоль диспетчера пакетов
Это откроет conslve, вставить
Install-Package Microsoft.AspNet.Web.Optimizationи введите. и вы сделали
установить в мировой.asax application_start (в режиме выпуска и т. д.):
BundleTable.EnableOptimizations = **true**;чтобы включить минимизацию и изменить значение false в режим отладки отображать все файлы скриптов и стилей по отдельности.
Comments