Es gibt zwei Projekte NuGet hat:.NET 4.6 Projekt Referenzierung .NET standrad lib Projekt, das Pakete installiert
a.csproj -> .NET 4.6.1
b.csproj -> .NET Standard 1.3
Es gibt eine Klasse in jedem der Projekte:
a.csproj has class A (.NET 4.6.1)
b.csproj has class B (.NET Standard 1.3)
Fall 1 : Eine ruft eine Methode von B, wo die Methode etwas zurückgibt, sagen wir String. Alles funktioniert gut.
Fall 2: A ruft eine Methode aus B wobei das Verfahren druckt sagen zu einer Konsole kann. in A erhalten Sie eine Ausnahme "Datei oder Assembly System.Console konnte nicht geladen werden". Um dies zu beheben, fügen Sie einen Verweis auf "NETStandard.Library" in a.csproj Projekt hinzu. Danach funktioniert alles gut.
Fall 3: A ruft eine Methode aus B wobei das Verfahren einiger DLL verwendet MySQLdata oder HtmlAgility Pack oder w/e von einem NuGet Paket installiert sagen lassen. In A erhalten Sie eine Ausnahme "Datei oder Assembly konnte nicht geladen werden". Um dies zu beheben, installieren Sie das gleiche Paket in a.csproj Projekt, aber je nach Paket können Sie innere Ausnahme "Starke Namensvalidierung fehlgeschlagen" innere Ausnahme erhalten.
Wie behandelt man den Fall 3?