FileLoadException em 'Microsoft.Owin'
-
23-12-2019 - |
Pergunta
Assim que eu tiver instalado o SignalR através do Nuget e que está dependendo de Microsoft.Owin
qual é então instalado.Sempre que vou executar meu aplicativo lança uma FileLoadException
no Arranque.cs om o app.MapSignalR();
linha.Ele diz que "o Arquivo ou assembly 'Microsoft.Owin, Versão=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências não pôde ser carregado.A definição do manifesto da assemblagem não corresponde a referência do assembly."
Tenho certeza de que inclui o Microsoft.Owin.dll
mas quando eu tentar reinstalá-lo através do Nuget ele diz que não pode reinstalar o Microsoft.Owin.XML
O arranque.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();
}
}
}
Solução
A versão mais recente do SignalR baseia-se no Microsoft.Owin 2.0.2.0, não 2.0.1.0.Veja o tutorial a seguir, você vai querer adicionar Microsoft.AspNet.SignalR.SelfHost no gerenciador de pacotes, e não a Microsoft.Owin.
Outras dicas
Às vezes, os pacotes referem-se a versões específicas de outros pacotes.Você pode tentar adicionar um redirecionamento de ligação para Microsoft.Owin
em seu web.config
arquivo (no <runtime>
seção):
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
Isto diz tudo o que faz referência a uma versão mais antiga do que 2.1.0.0
para usar 2.1.0.0
em vez disso.