Scrivere assembly di riferimento nell'output intermedio
.NET SDK scrive ora assembly di riferimento in IntermediateOutputPath
anziché in OutDir
per impostazione predefinita. Questa modifica rimuove questi artefatti di sola compilazione dagli output necessari in fase di esecuzione.
Versione introdotta
.NET SDK 6.0.200
Comportamento precedente
Poiché sono stati aggiunti assembly di riferimento, .NET SDK ha scritto assembly di riferimento nella directory di riferimento nella OutDir
directory della compilazione. In .NET 5 la proprietà ProduceReferenceAssembly è stata introdotta e indicata come impostazione predefinita true
per net5.0
e le applicazioni successive. Con questa modifica, molte applicazioni hanno iniziato a generare in modo implicito assembly di riferimento nella directory OutDir
.
Nuovo comportamento
Gli assembly di riferimento vengono ora scritti nella directory refint
della directory IntermediateOutputPath
per impostazione predefinita, come molti altri artefatti intermedi.
Motivo della modifica
Gli assembly di riferimento in genere non sono asset di runtime e quindi non appartengono alla directoryOutDir
per impostazione predefinita.
Azione consigliata
Se si dispone di una logica di compilazione personalizzata ed è necessario modificare gli assembly di riferimento, usare la proprietà TargetRefPath
per ottenere il percorso corretto.
Se un sistema esterno richiede l'assembly di riferimento in OutDir
, impostare la proprietà MSBuild ProduceReferenceAssemblyInOutDir su true
nel file di progetto.