Fehler wird generiert, wenn ausführbares Projekt auf nicht übereinstimmendes ausführbares Projekt verweist

Im Allgemeinen verweist ein ausführbares Projekt auf Bibliotheksprojekte und nicht auf andere ausführbare Projekte. Ein ausführbares Projekt kann aber auch auf ein anderes ausführbares Projekt verweisen, um die darin definierten APIs zu verwenden. Einige Entwickler möchten von einem ausführbaren Projekt auf ein anderes ausführbares Projekt verweisen, damit beide Apps in demselben Ausgabeordner abgelegt und ausgeführt werden können. Dieses Szenario funktioniert jedoch nicht, wenn ein eigenständiges ausführbares Projekt auf ein nicht eigenständiges ausführbares Projekt verweist (oder umgekehrt). Aufgrund der Funktionsweise des Anwendungshosts kann keine der Apps gestartet werden. Um Situationen zu vermeiden, in denen Apps nicht ausgeführt werden können, werden ab .NET SDK 5 die Kompilierzeitfehler NETSDK1150 und NETSDK1151 erzeugt, wenn Verweise auf nicht übereinstimmende ausführbare Projekte erkannt werden.

Beschreibung der Änderung

In früheren .NET SDK-Versionen konnten Sie ohne Buildfehler von einem nicht eigenständigen ausführbaren Projekt auf ein eigenständiges ausführbares Projekt verweisen. Allerdings konnten beide Apps nicht ausgeführt werden. Ab .NET SDK 5 wird ein Fehler generiert, wenn ein ausführbares Projekt auf ein anderes ausführbares Projekt verweist und die SelfContained-Werte nicht übereinstimmen.

Eingeführt in Version

.NET SDK 5.0.300

Grund für die Änderung

Die Fehler wurden eingeführt, um Situationen zu vermeiden, in denen Sie davon ausgehen, dass beide Anwendungen gestartet werden können, dies aber nicht der Fall ist.

Wenn das Projekt, auf das verwiesen wird, nicht aus dem Ausgabeordner ausgeführt werden muss, können Sie eine Eigenschaft festlegen, um diese Fehlerüberprüfung zu vermeiden:

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

Weitere Informationen finden Sie unter ValidateExecutableReferencesMatchSelfContained.

Betroffene APIs

Keine.