Freigeben über


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

Da Referenz-Assemblies hinzugefügt wurden, schreibt das .NET SDK Referenz-Assemblies in das ref-Verzeichnis im OutDir Verzeichnis des Kompilierungsprozesses. In .NET 5 wurde die ProduceReferenceAssembly-Eigenschaft eingeführt und standardmäßig auf true gesetzt für net5.0 und spätere Anwendungen. Mit dieser Änderung begannen viele Anwendungen implizit, Referenzassemblys im OutDir Verzeichnis 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 Änderung

Referenzassemblies sind in der Regel keine Laufzeitressourcen und sollten daher nicht standardmäßig dem Verzeichnis OutDir zugeordnet werden.

Wenn Sie über benutzerdefinierte Buildlogik verfügen und die Referenzassemblys bearbeiten müssen, verwenden Sie die TargetRefPath Eigenschaft, um den richtigen 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.