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 true
net5.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.
Ação recomendada
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.