Estou tentando usar o novo recurso de agregação em um projeto que converti recentemente do MVC 3 para o MVC 4 beta. Requer uma linha de código em global.asax BundleTable.Bundles.RegisterTemplateBundles();
, que requer using System.Web.Optimization;
no topo.
Quando faço isso, recebo as linhas onduladas vermelhas que dizem: "Está faltando uma referência de montagem?" Quando tento adicionar referência e clico na guia .NET na caixa de diálogo, digite AZ, não vejo System.Web.Optimization
.
Como adiciono esta referência ao meu projeto?
asp.net-mvc-4
namespaces
asp.net-optimization
Ian Davis
fonte
fonte
System.Web.Optimization
retornasse o nó às minhas referências.Respostas:
A
versão de atualização 1.1.x está disponível, leia as notas de versão: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
O pacote Microsoft.Web.Optimization agora está obsoleto. Com o ASP.NET (MVC) 4 e superior, você deve instalar o Microsoft ASP.NET Web Optimization Framework:
Instale o pacote do nuget :
Crie e configure pacotes em App_Start \ BundleConfig.cs:
Chame a função RegisterBundles () de Application_Start () em seu global.asax.cs:
Em seu view.cshtml, inclua o espaço para nome Otimização e renderize o (s) pacote (s):
Consulte http://www.asp.net/mvc/overview/performance/bundling-and-minification para obter mais informações.
fonte
Com a versão final lançada do ASP.Net MVC 4, a abordagem é a seguinte:
Instale Microsoft.AspNet.Web.Optimization via nuget (como ele não é instalado pela estrutura)
Crie o pacote configurável no Global.asax Application_Start:
Adicione o espaço para nome "System.Web.Optimization" ao web.config "Views":
Em seu view.cshtml, inclua uma inclusão no pacote criado na última etapa:
No modo de depuração, todos os arquivos de script em seu diretório serão renderizados individualmente; no modo de lançamento, eles serão agrupados e minificados.
fonte
".js"
arquivos. Dentro depublic static void RegisterBundles(BundleCollection bundles) { ... }
você deve ser capaz de fazer algo assimbundles.Add(new StyleBundle("~/CssBundle"));
e ele pegaria todos os arquivos CSS em suaCssBundle
pasta. Você não querScriptBundle
como no exemplo de arquivos CSS.Atualize (reinstale) o pacote do nuget, você pode usar o comando:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
fonte
No meu caso, foi um problema do tfs, pois o tfs exclui os binários; portanto, o Nugget PM encontra o nugget instalado e não atualiza a biblioteca. Se você tiver um problema semelhante:
Nota: a pasta do pacote está no mesmo nível do arquivo yousolution.sln
fonte
Usando o nuget para desinstalar o System.Web.Optimization no console do gerenciador de pacotes assim:
Pacote de desinstalação Microsoft.AspNet.Web.Optimization
Em seguida, reinstalando usando:
Pacote de instalação Microsoft.AspNet.Web.Optimization
Pode resolver esse problema para você.
fonte
Instale-o do NUGet através do Visual Studio Abra o Visual Studio 2010, selecione Ferramentas-> Gerenciador de Pacotes de Biblioteca-> Console do Gerenciador de Pacotes
Isso abrirá o conslve, cole
e entre. e você terminou
fonte
defina no Global.asax application_start (no modo RELEASE etc.):
para ativar a minificação e alterar para false no modo DEBUG para renderizar todos os arquivos de script e estilo individualmente.
fonte
<compilation debug="true" />
estiver definido (o que é bastante padrão ao criar uma versão de depuração), nenhuma otimização ocorre. Normalmente, essa configuração é removida automaticamente em uma compilação de versão.BundleTable.EnableOptimizations
deve ser usado apenas para substituir o web.config. Para mais informações: asp.net/mvc/tutorials/mvc-4/bundling-and-minification (procure por "Controle Agrupamento e Minification")BundleTable.EnableOptimizations = false;
porque no BundleConfig.cs está especificando todos os arquivos pré-minificados e não deseja que ele faça outra minimização.