Inquiridor
Não foi possível carregar arquivo ou assembly 'System.Web.WebPages.Deployment

Pergunta
-
Tive o seguinte erro trabalhando com ASP.NET MVC, quando rodo a aplicação retorna o seguinte erro:
Erro de Servidor no Aplicativo '/'.
Não foi possível carregar arquivo ou assembly 'System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. A definição do manifesto do assembly localizado não corresponde à referência do assembly. (Exceção de HRESULT: 0x80131040)
Já referenciei as DLL necessárias, já reinstalei os pacotes Nugets correspondentes, li todos os artigos possíveis e já até desinstalei e reinstalei todo visual studio, porem tudo em vão.
a unica coisa que resolveu foi adicionar a linha abaixo no web.config do projeto:
<dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Deployment" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly>
alguém tem uma solução melhor? porque tenho que fazer isso em todo projeto MVC...
abrç
- Editado Adinel de Deus sábado, 14 de junho de 2014 14:43
Todas as Respostas
-
Olá,
A solução ficou boa, porque toda vez que o runtime for carregar a versão que você não tenha, é feito um redirecionamento para versão que você tenha.
Deve ter alguma dll ai que faz o uso dessa outra dll( System.Web.WebPages.Deployment) ai e na compilação foi adicionado ao manifesto que precisa da dll 1.0(exemplo), porque você não tenha o fonte dela. Ai o jeito de trocar isto é dessa forma que você fez.
A outra solução é você ter essa dll na versão 1.0.0.0
- Editado welington jrModerator domingo, 15 de junho de 2014 00:02
-
Tive o seguinte erro trabalhando com ASP.NET MVC, quando rodo a aplicação retorna o seguinte erro:
Erro de Servidor no Aplicativo '/'.
Não foi possível carregar arquivo ou assembly 'System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. A definição do manifesto do assembly localizado não corresponde à referência do assembly. (Exceção de HRESULT: 0x80131040)
Já referenciei as DLL necessárias, já reinstalei os pacotes Nugets correspondentes, li todos os artigos possíveis e já até desinstalei e reinstalei todo visual studio, porem tudo em vão.
a unica coisa que resolveu foi adicionar a linha abaixo no web.config do projeto:
<dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Deployment" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly>
alguém tem uma solução melhor? porque tenho que fazer isso em todo projeto MVC...
abrç
Adinel, acredito que está solução seria a mais recomendada, mesmo por que se trata de um arquivo padrão para este tipo de projeto.
Apenas um adendo, no meu caso o seu post me ajudou muito pelo fato de a referencia da DLL estar no Web Config, mas o problema ocorria pelo fato da versão estar errada, mesmo realizando a instalação pelo nuget, ou seja, o nuget de alguma forma não estava atualizando a versão da DLL, mesmo realizando a instalação e desinstalação.
Valeu pela dica. Me ajudou muito mesmo.