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();
        }
    }
}
Foi útil?

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.

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

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top