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

  • 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ç


    sábado, 14 de junho de 2014 14:42

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

    sábado, 14 de junho de 2014 23:59
    Moderador
  • 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.

    quarta-feira, 17 de outubro de 2018 13:42