Autofac error: Datei oder Assembly konnte nicht geladen werden 'System.Web.Http, Version = 5.2.0.0, ...' Mein Projekt ist Owin WebApi2 SelfHost

7

Ich habe ein einfaches Projekt, das Microsoft.AspNet.WebApi.OwinSelfHost verwendet. Es ist ein selbst gehostetes WebApi 2-Projekt von Owin. Das Projekt ähnelt ungefähr: -

Ссылка

Der einzige Unterschied, den ich habe, ist, dass sich mein Sicherheitsmodul in einer separaten Assembly befindet (alles ähnlich wie oben). Ich verwende Autofac, um meine Abhängigkeiten aufzulösen.

Dieses Projekt hat funktioniert, wenn kein Autofac vorhanden ist. Aber sobald ich versuche, mein Projekt mit den entsprechenden Sicherheitsmodulen und Autofac einzurichten, sehe ich nur diesen Fehler: -

%Vor%

Meine Konfiguration ist sehr inspiriert von diesem Thema: -

Dependency-Injektion nicht Zusammenarbeit mit Owin selbst gehosteten Web Api 2 und Autofac

Außerdem habe ich festgestellt, dass jemand anderes mit diesem Abhängigkeitsfehler von Autofac zu kämpfen hatte und ein ähnliches Problem durch Neuinstallation von Microsoft.AspNet.WebApi.WebHost:

gelöst werden konnte

GlobalConfiguration .Configure () nicht vorhanden nach Web API 2 und .NET 4.5.1 Migration

Aber das funktioniert nicht für mich, ich weiß nicht warum. Ich habe versucht, alles von Grund auf neu zu installieren, hilft auch nicht. Neben der Tatsache, dass Autofac bei der Neuinstallation auch mehrere Berechtigungsprobleme hat.

Hat jemand Erfahrung mit diesem Fehler? bitte hilfe. Danke!

    
amitthk 05.03.2015, 11:15
quelle

3 Antworten

19

Ich habe es geschafft, dieses Abhängigkeitsproblem mithilfe des Kommentars von @ user998660 in dem obigen Thread zu beheben.

Was ich getan habe ist:

  • Ich habe rechts auf die Assembly System.Web.Http in den Referenzen meines Projekts geklickt.
  • Ich habe festgestellt, dass die Version der Assembly, auf die von meinem Projekt verwiesen wird, 5.2.3.0 ist.
  • Aus dem obigen Fehler weiß ich, dass Autofac versucht, auf die System.Web.Http-Version 5.2.0.0 zu verweisen. Ich brauchte ein Mittel, um meiner App mitzuteilen, dass sie die neuere Version 5.2.3.0 anstelle von 5.2.0.0 verwenden soll.

Dies musste ich zum Abschnitt <assemblyBinding> meiner Web.config hinzufügen:

%Vor%     
amitthk 05.03.2015, 12:48
quelle
0

Öffnen Sie die verwalteten nugget-Pakete für die Lösung, und installieren Sie die neueste Microsoft Asp.net Web Api 2.2, und das hat mein Problem gelöst.

    
gideonlouw 02.04.2015 08:28
quelle
0

Manchmal kann die .nuget-Zurückschreibung ein Problem verursachen .. obwohl nach dem erfolgreichen Einchecken das Festlegen von disableSourceControlIntegration auf false in der Datei .nuget.config dieses Problem beheben würde.  add key="disableSourceControlIntegration" value="false"

    
HydTechie 21.01.2017 11:33
quelle