无法从HRESULT加载文件或程序集异常:0x80131040

lev*_*ter 24 asp.net asp.net-mvc asp.net-mvc-4 visual-studio-2012

我创建了我的第一个MVC 4项目,它在本地服务器上运行良好.但是当我将它发布到本地文件夹并将文件夹内容上传到托管服务器时.我尝试运行它,我得到这个错误:

无法加载文件或程序集'DotNetOpenAuth.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 2780ccd10d57b246'或其依赖项之一.该系统找不到指定的文件.有人能帮帮我吗?

Web.config文件:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
  </dependentAssembly>
</assemblyBinding>
Run Code Online (Sandbox Code Playgroud)

PS Web窗体中的相同项目适用于托管服务器.

lev*_*ter 57

终于找到了答案!! 转到引用 - >右键cilck导致问题的dll文件 - >选择属性 - >检查版本 - >将属性中的版本与web配置匹配

<dependentAssembly>
    <assemblyIdentity name="YourDllFile" publicKeyToken="2780ccd10d57b246"               culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-YourDllFileVersion" newVersion="YourDllFileVersion" />
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

  • 直到我使用<assemblyBinding xmlns ="urn:schemas-microsoft-com:asm.v1">而不仅仅是<assemblyBinding">时,此解决方案才起作用. (2认同)

Nic*_*vci 8

立即对我有用的是:

  • 我找到了 bin 文件夹(下图显示)。

  • 为安全起见,将所有 dll 移动到其他文件夹中。

  • 然后重建项目。

  • 解决问题后,删除旧的dll文件。

打开文件所在位置


Pri*_*ane 6

如果您的解决方案包含两个相互交互的项目,并且都使用一个相同的引用,并且如果两个项目中各自引用的版本不同;然后也发生了这样的错误。不断更新对最新的所有引用。