Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Acción recomendada
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.