Gravar assemblies de referência em saída intermediária
O SDK do .NET agora grava assemblies de referência em IntermediateOutputPath
em vez do OutDir
por padrão. Essa alteração remove esses artefatos somente de tempo de compilação de saídas necessárias em tempo de execução.
Versão introduzida
.NET SDK 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 diretório OutDir
.
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 em tempo de execução e, portanto, não pertencem ao diretório OutDir
por padrão.
Ação recomendada
Se você tiver uma lógica de build personalizada e precisar manipular os assemblies de referência, use a propriedade TargetRefPath
para obter o caminho correto.
Se um sistema externo exigir o assembly de referência em OutDir
, defina a propriedade DO MSBuild ProduceReferenceAssemblyInOutDir para true
no arquivo de projeto.