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. Esta alteração remove esses artefactos, que só existem em tempo de compilação, das saídas que necessita em tempo de execução.

Versão foi 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 tornada padrão para truenet5.0 aplicações subsequentes. 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 por padrão no diretório refint do diretório IntermediateOutputPath, como muitos outros artefatos intermediários.

Motivo da mudança

Os assemblies de referência geralmente não são recursos em tempo de execução e, por isso, 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.