Bei der Entwicklung einer Beispiel-Web-App in .NET Core 1.1 und Visual Studio 2017 RC habe ich Folgendes festgestellt:
Wie Sie sehen können:
Ich schrieb eine einfache Methode in Klasse Class3 des ClassLibrary3-Projekts, und die Intellisense erlaubte mir, Klasse1 zu verwenden, indem ich einfach nur den Namen der Klasse schrieb, ohne explizit auf das ClassLibrary1-Projekt zu verweisen.
Fehle ich hier etwas? Ich will nicht, dass jemand einfach kommt und ClassLibrary2 übersieht.
Danke.
Transitive Projekt-zu-Projekt-Referenzen sind ein neues Feature von Visual Studio 2017 und Microsoft.NET.Sdk. Dies ist absichtliches Verhalten.
Siehe Ссылка .
Wenn Sie das transitive Referenzverhalten deaktivieren möchten, habe ich endlich einen Weg gefunden.
Wenn Sie wollen, dass Projekt A B und B auf C referenziert, A aber nicht auf C referenziert, können Sie PrivateAssets="All"
zu B's ProjectReference zu C hinzufügen, etwa so:
In B.csproj
%Vor%Diese Einstellung macht den Verweis von C privat, so dass er nur in B existiert. Projekte, die jetzt auf B verweisen, verweisen nicht mehr auf C.
Quelle: Ссылка
Tags und Links .net c# asp.net-core transitive-dependency