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 RuntimeIdentifieres 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 RuntimeIdentifieres 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.
  • 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

Consulte también