Partilhar via


Gravar assemblies de referência na saída intermediária

O SDK do .NET agora grava assemblies de referência no IntermediateOutputPath em vez do OutDir por padrão. Essa alteração remove esses artefatos somente em tempo de compilação das saídas necessárias em tempo de execução.

Versão introduzida

SDK do .NET 6.0.200

Comportamento antigo

Desde que assemblies de referência foram adicionados, o SDK do .NET gravou assemblies de referência no diretório ref no OutDir diretório da compilação. No .NET 5, a propriedade ProduceReferenceAssembly foi introduzida e padronizada para truenet5.0 aplicativos e posteriores. Com essa alteração, muitos aplicativos começaram a gerar implicitamente assemblies de referência no OutDir diretório.

Novo comportamento

Agora, os assemblies de referência são gravados no refint diretório do IntermediateOutputPath diretório por padrão, como muitos outros artefatos intermediários.

Razão para a alteração

Os assemblies de referência geralmente não são ativos de tempo de execução e, portanto, não pertencem ao OutDir diretório por padrão.

Se você tiver lógica de compilação personalizada e precisar manipular os assemblies de referência, use a TargetRefPath propriedade para obter o caminho correto.

Se um sistema externo exigir o assembly de referência no OutDir, defina a propriedade MSBuild ProduceReferenceAssemblyInOutDir como true no arquivo de projeto.