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
.
Empfohlene Maßnahme
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.