FileLoadException auf 'Microsoft.Owin'
-
23-12-2019 - |
Frage
Also habe ich SignalR über Nuget installiert und es hängt davon ab Microsoft.Owin
die es dann installiert hat.Immer wenn ich meine Anwendung starte, wird ein FileLoadException
im Startup.cs om der app.MapSignalR();
Linie.Es heißt "Datei oder Assembly"Microsoft.Owin, Version = 2.0.1.0, Culture =neutral, PublicKeyToken = 31bf3856ad364e35' oder eine seiner Abhängigkeiten konnte nicht geladen werden.Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Referenz der Assembly überein."
Ich bin sicher, es beinhaltet die Microsoft.Owin.dll
aber wenn ich versuche, es über Nuget neu zu installieren, heißt es, dass Microsoft nicht neu installiert werden konnte.Owin.XML
Start.ks
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();
}
}
}
Lösung
Die neueste Version von SignalR basiert auf Microsoft.Owin 2.0.2.0, nicht 2.0.1.0.Sehen Sie sich das folgende Tutorial an - Sie möchten Microsoft hinzufügen.ASPNET.SignalR.SelfHost im Paketmanager, nicht Microsoft.Owin.
Andere Tipps
Manchmal beziehen sich Pakete auf bestimmte Versionen anderer Pakete.Sie können versuchen, eine Bindungsumleitung hinzuzufügen für Microsoft.Owin
in Ihrem web.config
datei (in der <runtime>
Abschnitt):
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
Dies sagt alles aus, was auf eine ältere Version als verweist 2.1.0.0
verwenden 2.1.0.0
stattdessen.