Freigeben über


Fehler, der generiert wird, wenn ein ausführbares Projekt auf nicht übereinstimmende ausführbare Dateien verweist

Im Allgemeinen verweist ein ausführbares Projekt auf Bibliotheksprojekte, nicht auf andere ausführbare Projekte. Ein ausführbares Projekt kann auch auf ein anderes ausführbares Projekt verweisen, um darin definierte APIs zu verwenden. Einige Entwickler möchten aus einem anderen ausführbaren Projekt auf ein ausführbares Projekt verweisen, sodass beide Apps in denselben Ausgabeordner eingefügt und ausgeführt werden können. Dieses Szenario funktioniert jedoch nicht, wenn eine eigenständige ausführbare Datei auf eine nicht eigenständige ausführbare Datei verweist oder umgekehrt. Aufgrund der Funktionsweise des Anwendungshosts kann keine App gestartet werden. Um Situationen zu verhindern, in denen Apps nicht ausgeführt werden können, erzeugt .NET SDK 5+ Kompilierungsfehler NETSDK1150 und NETSDK1151, wenn fehlerhafte ausführbare Verweise erkannt werden.

Änderungsbeschreibung

In früheren .NET SDK-Versionen können Sie auf ein eigenständiges ausführbares Projekt aus einem nicht eigenständigen ausführbaren Projekt ohne Buildfehler verweisen. Beide Apps können jedoch 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ührte Version

.NET SDK 5.0.300

Grund für Änderung

Die Fehler wurden eingeführt, um Situationen zu verhindern, in denen Sie erwarten, dass sie beide Anwendungen starten können, aber nicht.

Wenn das referenzierte Projekt 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

Keiner.