Skriva referenssammansättningar till mellanliggande utdata

.NET SDK skriver nu referenssammansättningar till IntermediateOutputPath som standard istället för OutDir. Den här ändringen tar bort dessa artefakter som endast är relevanta vid byggtillfället från utdata som du behöver vid körning.

Version introducerad

.NET SDK 6.0.200

Gammalt beteende

Sedan referenssammansättningar lades till har .NET SDK skrivit referenssammansättningar till ref-katalogen i kompileringskatalogen OutDir . I .NET 5 introducerades egenskapen ProduceReferenceAssembly och standardinställdes för applikationer byggda i true och senare. Med den här ändringen började många program implicit generera referenssammansättningar i OutDir katalogen.

Nytt beteende

Nu för tiden skrivs referenssamlingar som standard till refint-katalogen av IntermediateOutputPath-katalogen, precis som många andra mellanliggande artefakter.

Orsak till ändring

Referenssammansättningar är vanligtvis inte körtidskomponenter och hör därför inte hemma i OutDir mappen som standardinställning.

Om du har anpassad bygglogik och behöver ändra referenssammansättningarna använder TargetRefPath du egenskapen för att hämta rätt sökväg.

Om ett externt system kräver referenssammansättningen i OutDiranger du egenskapen MSBuild ProduceReferenceAssemblyInOutDir till true i projektfilen.