Partager via


Erreur générée lorsque le projet exécutable fait référence à un exécutable incompatible

En règle générale, un projet exécutable fait référence à des projets de bibliothèque, et non à d’autres projets exécutables. Un projet exécutable peut également référencer un autre projet exécutable pour utiliser des API qui sont définies dans celui-ci. Certains développeurs souhaitent référencer un projet exécutable à partir d’un autre projet exécutable afin que les deux applications soient placées et soient exécutables à partir du même dossier de sortie. Toutefois, ce scénario ne fonctionne pas si un exécutable autonome fait référence à un exécutable non autonome, ou inversement. En raison du fonctionnement de l’hôte d’application, aucune application ne peut être lancée. Pour éviter les situations où les applications ne sont pas exécutables, le Kit de développement logiciel (SDK) .NET 5+ génère des erreurs au moment de la compilation NETSDK1150 et NETSDK1151 lorsqu’elle détecte des références exécutables incompatibles.

Description de la modification

Dans les versions précédentes du Kit de développement logiciel (SDK) .NET, vous pouvez référencer un projet exécutable autonome à partir d’un projet exécutable non autonome sans erreur de build. Toutefois, les deux applications ne peuvent pas être exécutées. À compter du Kit de développement logiciel (SDK) .NET 5, une erreur est générée si un projet exécutable fait référence à un autre projet exécutable et que les SelfContained valeurs ne correspondent pas.

Version introduite

SDK .NET 5.0.300

Raison de la modification

Les erreurs ont été introduites pour empêcher les situations où vous vous attendez à pouvoir lancer les deux applications, mais vous ne pouvez pas.

Si le projet référencé n’a pas besoin d’être exécuté à partir du dossier de sortie, vous pouvez définir une propriété pour éviter cette vérification d’erreur :

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

Pour plus d’informations, consultez ValidateExecutableReferencesMatchSelfContained.

API affectées

Aucun.