Schreiben von Verweisassemblys in die Zwischenausgabe

Das .NET SDK schreibt jetzt Verweisassemblys standardmäßig in IntermediateOutputPath anstatt in OutDir. Durch diese Änderung werden die nur zur Buildzeit erforderlichen Artefakte aus Ausgaben entfernt, die Sie zur Laufzeit benötigen.

Version, in der die Änderung eingeführt wird

.NET SDK 6.0.200

Altes Verhalten

Seit dem Hinzufügen von Verweisassemblys wurden sie vom .NET SDK in das Verzeichnis ref im Verzeichnis OutDir der Kompilierung geschrieben. In .NET 5 wurde die ProduceReferenceAssembly-Eigenschaft eingeführt und für true und höhere Anwendungen standardmäßig auf net5.0 festgelegt. Nach dieser Änderung haben viele Anwendungen damit begonnen, Verweisassemblys implizit im Verzeichnis OutDir zu generieren.

Neues Verhalten

Nun werden Verweisassemblys genau wie viele andere Zwischenartefakte standardmäßig in das Verzeichnis refint des Verzeichnisses IntermediateOutputPath geschrieben.

Grund für die Änderung

Verweisassemblys sind in der Regel keine Laufzeitressourcen und gehören daher standardmäßig nicht in das Verzeichnis OutDir.

Wenn Sie über benutzerdefinierte Buildlogik verfügen und die Verweisassemblys bearbeiten müssen, verwenden Sie die TargetRefPath-Eigenschaft, um den korrekten Pfad abzurufen.

Wenn die Verweisassembly für ein externes System in OutDir vorhanden sein muss, legen Sie in Ihrer Projektdatei die MSBuild-Eigenschaft ProduceReferenceAssemblyInOutDir auf true fest.