Usando C #, Visual Studio 2010.
Há um espaço para nome chamado System.Web.Mvc documentado no MSDN. A documentação para todos os tipos nesse espaço de nome diz que eles estão System.Web.Mvc.dll
.
No entanto, quando vou para Adicionar referência, guia ".NET", esse assembly está ausente na lista. Por quê?
Respostas:
No VS Express 2012, não consegui encontrar o System.Web.Mvc na guia "assemblies", mas, depois de algumas pesquisas, descobri que precisava examinar a guia " assemblies \ extensions " em vez do padrão "assemblies \ framework" " aba.
fonte
Could not load file or assembly...The located assembly's manifest definition does not match the assembly reference
). Eu tenho outro projeto na minha solução referenciando uma versão diferente, e esse método só me permitiu adicionar uma referência ao System.Web.Mvc, Version = 4.0.0.0. O método de instalação do NuGet adicionou a versão corretaA melhor maneira é usar o gerenciador de pacotes NuGet.
Basta atualizar o pacote MVC abaixo e ele deve funcionar.
fonte
Eu tive o mesmo problema e não foi possível localizar o assembly de referência System.Web.MVC.
Finalmente descobri e estava localizado dentro do seguinte local.
Observe se o seu VS foi instalado em C: (Às vezes, o MVC.dll não está no local padrão sobre o qual todos falam, refiro-me à pasta " Assemblies de referência " localizada na unidade C:).
se não estiver lá, definitivamente deveria estar aqui:
\ Arquivos de programas (x86) \ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll
Portanto, adicione a DLL através da navegação ou da guia Procurar no menu Adicionar referência.
fonte
Você também pode adicionar isso no Nuget Package Manager Console, algo como:
Microsoft.AspNet.Mvc tem dependências em:
... o que não me parece nada demais. No nosso caso, esta é uma biblioteca de classes que existe apenas para fornecer suporte para nossos aplicativos Mvc. Então, achamos que é uma dependência benigna na pior das hipóteses.
Definitivamente, prefiro isso a apontar para um assembly no sistema de arquivos ou no GAC, pois a atualização do pacote no futuro provavelmente será muito menos dolorosa do que as experiências que tive com as referências de assemblies do GAC e do sistema de arquivos no passado.
fonte
Eu tive o mesmo problema e aqui está o motivo engraçado: Meu palpite é que você espera
System.Web.Mvc
estar localizado emSystem.Web
na lista. Mas a lista não é alfabética.Primeiro, classifique a lista e depois olhe perto da
System.Web
.fonte
Deveria estar lá. Por padrão, a lista de adição de referências parece ter sido solicitada, mas não é o caso. Bata no cabeçalho do nome e olhe novamente.
fonte
Verifique estes passos:
Nota : se a estrutura de destino estiver definida como .Net Framework 4 Client Profile, ela não listará a referência do MVC na lista de referências. Você pode encontrar diferentes entre o .Net Framework 4 e o .Net Framework 4 Client Profile aqui .
fonte
Resolvi esse problema pesquisando "mvc". O System.Web.Mvc apareceu nos resultados da pesquisa, apesar de não estar contido na lista.
fonte
A montagem desejada apareceu na lista agora.
Só posso especular o que fez com que ele aparecesse, mas suspeito que tenha sido o Arquivo → Novo → Projeto → Aplicativo Web ASP.NET , o que nunca havia feito antes. É possível que isso tenha causado algum tipo de inicialização tardia e a lista seja preenchida com assemblies adicionais para o desenvolvimento da Web.
fonte
Isso mudou para o Visual Studio 2012 (sei que a pergunta original diz VS2010, mas o título ainda será exibido nas pesquisas).
Quando você cria um projeto VS2012 MVC, o system.web.mvc é colocado na pasta packages, que é semelhante à solução. Isso será referenciado no projeto da Web por padrão e você pode encontrar o caminho exato lá).
Se você quiser fazer referência a isso em um projeto secundário (por exemplo, uma DLL de suporte com filtros ou outros atributos), poderá fazer referência a partir daí.
fonte
Não recebi o System.Web.Mvc no VS 2012, mas o obtive no VS 2013. Usando a caixa de diálogo AddReference,
Ou, você pode encontrar isso no caminho do projeto,
YourProjectName \ packages \ Microsoft.AspNet.Mvc.5.0.0 \ lib \ net45 \ System.Web.Mvc.dll
fonte
Acredito que você encontrará que o assembly MVC é referenciado no arquivo web.config, não no próprio projeto.
Algo assim:
Para responder ao seu comentário;
A melhor resposta que posso dar é daqui :
fonte
ele pode ser instalado separadamente e não está incluído no framwork, escolha "extensões" da lista de guias e existe e existem outras bibliotecas, tudo está ok, não é necessário usar bibliotecas antigas, etc., existem antigas 20 30 e 4001
fonte
Se você encontrou esse problema no Visual Studio 2017, é provável que esteja trabalhando com um projeto MVC 4 criado em uma versão anterior do VS com um caminho de dica de referência apontando para
C:\Program Files (x86)\Microsoft ASP.NET
. O Visual Studio 2017 não instala mais este diretório.Geralmente, resolvemos isso instalando uma cópia do Visual Studio 2015 ao lado de nossa instância de 2017 e que instala as bibliotecas necessárias no caminho acima. Em seguida, atualizamos todas as referências nos projetos afetados e estamos prontos.
fonte