繁体   English   中英

'Microsoft.Owin'上的FileLoadException

[英]FileLoadException on 'Microsoft.Owin'

所以我通过Nuget安装了SignalR,它依赖于它随后安装的Microsoft.Owin 每当我运行我的应用程序时,它会在Startup.cs中抛出一个FileLoadException ,即app.MapSignalR(); 线。 它说“文件或程序集'Microsoft.Owin,Version = 2.0.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项无法加载。找到的程序集的清单定义与程序集的引用不匹配“。

我确定它包含Microsoft.Owin.dll但是当我尝试通过Nuget重新安装它时它说它无法重新安装Microsoft.Owin.XML

Startup.cs

using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // Any connection or hub wire up and configuration should go here
            app.MapSignalR();
        }
    }
}

有时包会引用其他包的特定版本。 您可以尝试在web.config文件中添加Microsoft.Owin的绑定重定向(在<runtime>部分中):

<dependentAssembly>
  <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>

这告诉引用旧版本而不是2.1.0.0所有内容都使用2.1.0.0

SignalR的最新版本依赖于Microsoft.Owin 2.0.2.0,而不是2.0.1.0。 请参阅以下教程 - 您将要在程序包管理器中添加Microsoft.AspNet.SignalR.SelfHost,而不是Microsoft.Owin。

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-signalr-20-self-host

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM