Advertencia de “RuntimeIdentifier” si no se especifica si la aplicación es independiente
Si especifica un objeto RuntimeIdentifier
en su archivo de proyecto o utiliza la opción -r
con dotnet
, el SDK de .NET hace que las salidas de compilación, publicación y ejecución sean de manera predeterminada aplicaciones independientes. El valor predeterminado sin especificar RuntimeIdentifier
es tener una aplicación dependiente del marco. Este cambio presenta una nueva advertencia (NETSDK1179) si especifica RuntimeIdentifier
sin especificar si la aplicación es independiente.
Versión introducida
.NET 6 RC 1
Comportamiento anterior
En versiones anteriores, la especificación de RuntimeIdentifier
cambiaría silenciosamente la aplicación de una aplicación dependiente del marco a una aplicación independiente.
Comportamiento nuevo
En .NET 6, si especifica RuntimeIdentifier
sin especificar si la aplicación es independiente, verá la siguiente advertencia:
advertencia NETSDK1179: Se requiere una de las opciones "--self-contained" o "--no-self-contained" cuando se usa "--runtime".
Por ejemplo, el comando siguiente generará la advertencia:
dotnet publish -r win-x86
Cambio de categoría
Este cambio puede afectar a la compatibilidad de origen.
Motivo del cambio
El valor predeterminado sin especificar RuntimeIdentifier
es generar una aplicación dependiente del marco. Este valor predeterminado causó confusión para muchos clientes. El propósito de agregar la advertencia es:
- Advertir a los clientes del cambio de comportamiento para establecer de manera predeterminada una aplicación dependiente del marco.
- Animar a los clientes a elegir específicamente el tipo de aplicación que desean compilar.
- Prepare a los clientes para cambiar posiblemente el comportamiento de .NET 7 a dependiente del marco de forma predeterminada.
Acción recomendada
- Especifique un valor Booleano en el archivo de proyecto para
SelfContained
. - O bien, agregue
--self-contained
con un valor al comando de compilación o publicación.
API afectadas
N/D