Problem
Nach der Installation der Vorabversion des Microsoft ASP.NET-Web-API-OData-Pakets 5.0.0-rc1 tritt die folgende Ausnahme auf:
Datei oder Assembly 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)
Mein MVC 4-Projekt ist brandneu und sehr klein, nichts Besonderes. Ich ziele auf .NET Framework 4.5
ich brauche das Nuget-Paket , um PATCH mithilfe der Delta-Klasse zu implementieren (wenn ich die Version 4.0.0.0 des Pakets verwende, funktioniert die Delta-Klasse nicht).
Wie kann ich das beheben?
Meine Versionen von System.Web.Http
In GAC habe ich Version 5.0.0.0 von System.Web.Http
gacutil -l System.Web.Http Der globale Assemblycache enthält die folgenden Assemblys: System.Web.Http, Version = 5.0.0.0, Kultur = neutral, PublicKeyToken = 31bf3856ad364e35, Prozessorarchitektur = MSIL
Wenn ich in Visual Studio Assemblys durchsuche, lautet die angegebene Version von System.Web.Http 4.0.0.0 (Warum?)
In meinem Projekt der Verweis auf System.Web.Http
- Hat die Version 5.0.0.0
- Zeigt auf den Ordner \ lib \ net45 \ des Pakets
- Hat CopyLocal = true
Dinge, die ich versucht habe
Ich habe versucht, Redirect v 4.0.0.0 an 5.0.0.0 in Web.config zu binden
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="4.0.0.0-4.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
Aber es gibt mir eine andere Ausnahme:
Der Versuch der Methode 'System.Web.Http.GlobalConfiguration..cctor ()', auf das Feld 'System.Web.Http.GlobalConfiguration.CS $ <> 9__CachedAnonymousMethodDelegate2' zuzugreifen, ist fehlgeschlagen.
Ich denke, dass v 4.0.0.0 wirklich von der Web-API-Kern-Engine verwendet werden muss.
Verknüpfte Fragen
Codeanalysefehler Datei oder Assembly 'System.Net.Http, Version = 2.0.0.0 in MVC4-Web-API konnte nicht geladen werden Datei oder Assembly' System.Net.Http, Version = 2.0.0.0 in MVC4-Web-API konnte nicht geladen werden