Исключение FileLoadException в "Microsoft.Owin"
-
23-12-2019 - |
Вопрос
Итак, я установил SignalR через Nuget, и это зависит от Microsoft.Owin
который он затем установил.Всякий раз, когда я запускаю свое приложение, оно выдает FileLoadException
в Startup.cs есть app.MapSignalR();
линия.Там написано "Файл или сборка"Microsoft.Owin, версия = 2.0.1.0, Культура = нейтральная, 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();
}
}
}
Решение
Последняя версия Synolr полагается на Microsoft.owin 2.0.2.0, а не 2.0.1.0.См. Следующее учебное пособие - вы захотите добавить Microsoft.aspnet.signalr. Seffhost в менеджере пакетов, а не Microsoft.owin.
Другие советы
Иногда пакеты ссылаются на определенные версии других пакетов.Вы можете попробовать добавить обязательный редирект для Microsoft.Owin
в вашем web.config
файл (в <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
вместо этого.