Compartir vía


Escritura de ensamblados de referencia en la salida intermedia

El SDK de .NET ahora escribe ensamblados de referencia en IntermediateOutputPath en lugar de OutDir de forma predeterminada. Este cambio elimina de las salidas los artefactos que solo se utilizan durante el tiempo de compilación y que no son necesarios en el tiempo de ejecución.

Versión introducida

SDK de .NET 6.0.200

Comportamiento anterior

Dado que se agregaron ensamblados de referencia, el SDK de .NET ha escrito ensamblados de referencia al directorio ref del OutDir directorio de la compilación. En .NET 5, la propiedad ProduceReferenceAssembly se introdujo y se estableció true de forma predeterminada para net5.0 y aplicaciones posteriores. Con este cambio, muchas aplicaciones comenzaron a generar implícitamente ensamblados de referencia en el OutDir directorio.

Nuevo comportamiento

Ahora, los ensamblados de referencia se escriben en el directorio refint del directorio IntermediateOutputPath de forma predeterminada, como muchos otros artefactos intermedios.

Motivo del cambio

Los ensamblados de referencia generalmente no son activos en tiempo de ejecución y, por tanto, no pertenecen al OutDir directorio de forma predeterminada.

Si tiene lógica de compilación personalizada y necesita manipular los ensamblados de referencia, use la propiedad TargetRefPath para obtener la ruta de acceso correcta.

Si un sistema externo requiere el ensamblado de referencia en OutDir, establezca la propiedad de MSBuild ProduceReferenceAssemblyInOutDir en true en el archivo del proyecto.