Compartilhar via


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

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

Versão introduzida

Kit de Desenvolvimento (SDK) do .NET 6.0.200

Comportamento antigo

Desde que os assemblies de referência foram adicionados, o SDK do .NET escreveu assemblies de referência para o diretório ref no diretório OutDir da compilação. No .NET 5, a propriedade ProduceReferenceAssembly foi introduzida e padronizada para true em net5.0 aplicativos 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 diretório refint do diretório IntermediateOutputPath por padrão, como muitos outros artefatos intermediários.

Motivo da alteração

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

Se você tiver uma lógica de build 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 em OutDir, defina a propriedade do MSBuild ProduceReferenceAssemblyInOutDir como true no seu arquivo de projeto.