Compartir a través de


Error generado cuando el proyecto ejecutable hace referencia a un archivo ejecutable no coincidente

Por lo general, un proyecto ejecutable hace referencia a proyectos de biblioteca, no a otros proyectos ejecutables. Un proyecto ejecutable también puede hacer referencia a otro proyecto ejecutable para usar las API definidas en él. Algunos desarrolladores quieren hacer referencia a un proyecto ejecutable desde otro proyecto ejecutable para que ambas aplicaciones se coloquen en y se puedan ejecutar desde la misma carpeta de salida. Sin embargo, este escenario no funciona si un ejecutable autocontenido hace referencia a un ejecutable no autocontenido, o viceversa. Debido a cómo funciona el host de la aplicación, no se puede iniciar ninguna aplicación. Para evitar situaciones en las que las aplicaciones no se pueden ejecutar, el SDK de .NET 5+ genera errores en tiempo de compilación NETSDK1150 y NETSDK1151 cuando detecta referencias ejecutables no coincidentes.

Descripción del cambio

En versiones anteriores del SDK de .NET, era posible hacer referencia a un proyecto ejecutable autocontenido desde un proyecto ejecutable que no es autocontenido sin desencadenar un error de compilación. Sin embargo, ambas aplicaciones no se pueden ejecutar. A partir del SDK 5 de .NET, se genera un error si un proyecto ejecutable hace referencia a otro proyecto ejecutable y los SelfContained valores no coinciden.

Versión introducida

SDK de .NET 5.0.300

Motivo del cambio

Los errores se introdujeron para evitar situaciones en las que se espera poder iniciar ambas aplicaciones, pero no.

Si el proyecto al que se hace referencia no necesita ejecutarse desde la carpeta de salida, puede establecer una propiedad para evitar esta comprobación de errores:

<ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>

Para obtener más información, vea ValidateExecutableReferencesMatchSelfContained.

Las APIs afectadas

Ninguno.