无法在服务器上加载文件或程序集错误
我将代码部署到ST服务器时出现以下错误。在我的机器和开发服务器上,相同的代码工作正常,但当我们尝试访问应用程序中的某个页面时,通过ST服务器上的此错误。无法在服务器上加载文件或程序集错误
的错误是:
无法加载文件或程序集 'Microsoft.Owin,版本= 2.1.0.0,文化=中性公钥= 31bf3856ad364e35' 或它的一个依赖。定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040) 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“Microsoft.Owin,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其某个依赖项。定位的程序集清单定义与程序集引用不匹配。 (异常来自HRESULT:0x80131040)
下面是我在web.config中
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
由于它工作在本地机器上细有几个可能的情况下, 首先检查一下Microsoft.Owin引用,因为在生产环境中缺少这种情况。 https://www.nuget.org/packages/Microsoft.Owin/2.1.0 您可以在“依存关系”部分检查,确保Owin库是否存在和参考
然后检查GAC两个开发和ST机(它可以在dev的正常工作,如果你有需要装配的版本在GAC上开发,但没有对ST)
重定向,请确保您有正确的XML命名空间
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
一个包装的相关元素
如果在此之后仍未找到原因,则可尝试使用Visual Studio附带的工具 fuslogvw.exe来获取有关绑定失败的更多信息。
我没有更新web.config添加SignalR后服务器上的文件。这里是丢失:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
得到固定在web.confg文件中添加以下引用
- Microsoft.Owin
- Microsoft.Owin.Security.OAuth
- 微软.Owin.Security
-
Microsoft.Owin.Security。饼干