中間出力に参照アセンブリを書き込む
.NET SDK では、既定で OutDir
ではなく、IntermediateOutputPath
に参照アセンブリが書き込まれるようになりました。 この変更により、実行時に必要な出力から、これらのビルド時のみの成果物が削除されます。
導入されたバージョン
.NET SDK 6.0.200
以前の動作
参照アセンブリが追加されたため、.NET SDK ではコンパイルの OutDir
ディレクトリ内の ref ディレクトリに参照アセンブリが書き込まれていました。 .NET 5 には、ProduceReferenceAssembly プロパティが導入され、net5.0
以降のアプリケーションでは既定で true
になります。 この変更により、多くのアプリケーションが参照アセンブリを OutDir
ディレクトリ内に暗黙的に生成し始めました。
新しい動作
現在、参照アセンブリは、他の多くの中間成果物と同様に、既定で IntermediateOutputPath
ディレクトリの refint
ディレクトリに書き込まれます。
変更理由
参照アセンブリは一般に実行時アセットではないため、既定では OutDir
ディレクトリに属していません。
推奨アクション
カスタム ビルド ロジックがあり、参照アセンブリを操作する必要がある場合は、TargetRefPath
プロパティを使用して適切なパスを取得します。
外部システムで OutDir
内の参照アセンブリが必要になる場合は、プロジェクト ファイルで MSBuild プロパティ ProduceReferenceAssemblyInOutDir を true
に設定します。
.NET