Ich erstelle eine ASP.NET Core-Anwendung, die auf ein Klassenbibliotheksprojekt verweist. Diese Klassenbibliothek versucht, einen Endpunkt einzurichten. Da ich Microsoft.AspNetCore.Identity.EntityFrameworkCore enthalten sind, bekomme ich die folgende Ausnahme:Ausnahme beim Assembly-Scan in NServiceBus 6
{System.IO.FileLoadException: Die Datei oder Assembly "System.Interactive.Async, Version=1.2.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)
Dateiname: "System.Interactive.Async, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
bei System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
bei System.Reflection.RuntimePropertyInfo.get_Signature()
bei System.Reflection.RuntimePropertyInfo.get_PropertyType()
bei NServiceBus.Conventions.<>c.<.ctor>b__21_2(PropertyInfo p)
bei NServiceBus.Conventions.IsEncryptedProperty(PropertyInfo property)
=== Zustandsinformationen vor Bindung ===
LOG: DisplayName = System.Interactive.Async, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///D:/enio_tfs/enio.InvoiceR/Main/enio.InvoiceR.WebApp/bin/Debug/net461/win7-x64/
LOG: Ursprünglicher PrivatePath = NULL
Aufruf von Assembly : EntityFramework.Core, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60.
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: D:\enio_tfs\enio.InvoiceR\Main\enio.InvoiceR.WebApp\bin\Debug\net461\win7-x64\enio.InvoiceR.WebApp.exe.Config
LOG: Die Hostkonfigurationsdatei wird verwendet:
LOG: Die Computerkonfigurationsdatei von C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config wird verwendet.
LOG: Verweis nach der Richtlinie: System.Interactive.Async, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Download von neuem URL file:///D:/enio_tfs/enio.InvoiceR/Main/enio.InvoiceR.WebApp/bin/Debug/net461/win7-x64/System.Interactive.Async.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.
}
Diese Ausnahmen tritt auf, wenn ich versuche, den Endpunkt zu starten (Endpoint.Start ...)
Wie ich dachte, dass die Ausnahme könnte weggehen, wenn ich die Montage System.Interactive.Async.dll vom Scannen ausschließen ich den Endpunkt Konfigurationscode geändert haben:
endpointConfiguration.ExcludeAssemblies("System.Interactive.Async.dll", "System.Interactive.Async");
Aber leider hat dies keine Auswirkungen. Die Ausnahme bleibt gleich.
Übrigens, wie kann ich jetzt alle Microsoft. * Und System. * DLLs ausschließen? ASP.NET Core stellt alle diese DLLs in das Verzeichnis bin. Daher habe ich über 100 solcher DLLs und das anfängliche Scannen dauert ewig.