Autor Beitrag
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Fr 30.08.19 07:59 
Hallo,
im Ramen meines Webserver/SignalR Projektes bin ich in ein Versions Chaos der NuGet Pakete gelaufen, bei dessen Auflösung ich Hilfe brauchte.
Nachdem die SignalR funktionalität in meinem Entwickler Browser, welcher CORS Fehler ignoriert, wie gewünscht funktionierte, wollte ich den OWIN Server, so konfigurieren, dass er solche Fehler gar nicht erst schmeißt (bzw. mitteilt, dass er den Zugriff von einem anderem Port als akzeptabel einstuft).
Diesem Beispiel folgend habe ich die Konfiguration angepasst und das NuGet Paket Microsoft.Owin.Cors installiert. Beim Versuch mein Programm laufen zu lassen erhielt ich folgende Exception:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Die Datei oder Assembly \"Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" oder eine Abhängigkeit davon wurde nicht gefunden. 
Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)":"Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

=== Zustandsinformationen vor Bindung ===
LOG: DisplayName = Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\n (Fully-specified)
LOG: Appbase = file:///C:/Projekte/MyApp/bin/Debug/
LOG: Ursprünglicher PrivatePath = NULL
Aufruf von Assembly : Microsoft.AspNet.SignalR.Core, Version=2.4.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: C:\\Projekte\\MyApp\\bin\\Debug\\MyApp.exe.Config
LOG: Die Hostkonfigurationsdatei wird verwendet: 
LOG: Die Computerkonfigurationsdatei von C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\config\\machine.config wird verwendet.
LOG: Verweis nach der Richtlinie: Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Download von neuem URL file:///C:/Projekte/MyApp/bin/Debug/Microsoft.Owin.DLL.
WRN: Der Vergleich des Assemblynamens führte zum Konflikt: Hauptversion.
ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Die Suche wurde beendet.


Scheinbar wollte also Microsoft.AspNet.SignalR.Core plötzlich eine ältere Owin Version (2.1.0.0) als die Installierte Version (4.0.1.0) haben.
Auch wenn es mir wiederstrebte, habe ich versucht erst einmal die anderen Pakete downzugraden. Ich habe also alle OWIN Pakete auf Version 2.0.0.0 gebracht.
Daraufhin meckerten diese, weil ihnen die anderen Webkomponenten zu modern waren:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Die Datei oder Assembly \"System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" oder eine Abhängigkeit davon wurde nicht gefunden. 
Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)":"System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

=== Zustandsinformationen vor Bindung ===
LOG: DisplayName = System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\n (Fully-specified)
LOG: Appbase = file:///C:/Projekte/MyApp/bin/Debug/
LOG: Ursprünglicher PrivatePath = NULL
Aufruf von Assembly : Microsoft.Owin.Cors, Verexsion=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: C:\\Projekte\\MyApp\\bin\\Debug\\MyApp.exe.Config
LOG: Die Hostkonfigurationsdatei wird verwendet: 
LOG: Die Computerkonfigurationsdatei von C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\config\\machine.config wird verwendet.
LOG: Verweis nach der Richtlinie: System.Web.Cors, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Download von neuem URL file:///C:/Projekte/MyApp/bin/Debug/System.Web.Cors.DLL.
WRN: Der Vergleich des Assemblynamens führte zum Konflikt: Nebenversion.
ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Die Suche wurde beendet.


Also habe ich auch diese gedowngradet, nur damit danach eine Uralte Version von Newtonsoft.Json verlangt wird.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Die Datei oder Assembly \"Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed\" oder eine Abhängigkeit davon wurde nicht gefunden. 
Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)

=== Zustandsinformationen vor Bindung ===
LOG: DisplayName = Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed\n (Fully-specified)
LOG: Appbase = file:///C:/Projekte/MyApp/bin/Debug/
LOG: Ursprünglicher PrivatePath = NULL
Aufruf von Assembly : System.Net.Http.Formatting, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: C:\\Projekte\\MyApp\\bin\\Debug\\MyApp.exe.Config
LOG: Die Hostkonfigurationsdatei wird verwendet: 
LOG: Die Computerkonfigurationsdatei von C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\config\\machine.config wird verwendet.
LOG: Verweis nach der Richtlinie: Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
LOG: Download von neuem URL file:///C:/Projekte/MyApp/bin/Debug/Newtonsoft.Json.DLL.
WRN: Der Vergleich des Assemblynamens führte zum Konflikt: Hauptversion.
ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Die Suche wurde beendet.


Aber das kann es doch echt nicht sein. Kennt jemand einen Weg, die aktuellen Komponenten davon zu überzeugen miteinander zusammenzuarbeiten. Ich möchte ja gar keinen alten Stand verwenden!

Gruß,
Doublecross