Partilhar via


Erro gerado quando o projeto executável referencia um executável incompatível.

Geralmente, um projeto executável faz referência a projetos de biblioteca, não a outros projetos executáveis. Um projeto executável também pode fazer referência a outro projeto executável para usar APIs definidas nele. Alguns desenvolvedores desejam fazer referência a um projeto executável de outro projeto executável para que ambos os aplicativos sejam colocados e possam ser executados a partir da mesma pasta de saída. No entanto, esse cenário não funciona se um executável autônomo fizer referência a um executável não autônomo ou vice-versa. Devido ao funcionamento do host do aplicativo, nenhum aplicativo pode ser iniciado. Para evitar situações em que os aplicativos não podem ser executados, o .NET SDK 5+ produz erros em tempo de compilação NETSDK1150 e NETSDK1151 quando deteta referências executáveis incompatíveis.

Alterar descrição

Em versões anteriores do SDK do .NET, você podia fazer referência a um projeto executável autônomo de um projeto executável não autônomo sem um erro de compilação. No entanto, ambos os aplicativos não seriam executáveis. A partir do .NET SDK 5, um erro é gerado se um projeto executável fizer referência a outro projeto executável e os SelfContained valores não corresponderem.

Versão introduzida

SDK do .NET 5.0.300

Motivo da mudança

Os erros foram introduzidos para evitar situações em que você espera ser capaz de iniciar ambos os aplicativos, mas não pode.

Se o projeto referenciado não precisar ser executado a partir da pasta de saída, você poderá definir uma propriedade para evitar essa verificação de erro:

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

Para obter mais informações, consulte ValidateExecutableReferencesMatchSelfContained.

APIs afetadas

Nenhum.