PublishDepsFilePath の動作の変更

PublishDepsFilePath MSBuild プロパティは、単一ファイル アプリケーションの場合は空です。 また、非単一ファイル アプリケーションの場合は、ビルドの後半まで、deps. json ファイルを出力ディレクトリにコピーすることはできません。

導入されたバージョン

5.0

変更の説明

以前のバージョンの .NET での PublishDepsFilePath MSBuild プロパティは、非単一ファイル アプリケーションの場合は出力ディレクトリ内にあるアプリの deps. json ファイルへのパス、単一ファイル アプリの場合は中間ディレクトリ内のパスです。

.NET 5 以降では、単一ファイル アプリケーションの場合は PublishDepsFilePath が空になり、新しい IntermediateDepsFilePath プロパティによって中間ディレクトリ内に deps.json の場所が指定されます。 また、非単一ファイル アプリケーションの場合は、ビルドの後半まで、deps. json ファイルを出力ディレクトリ (すなわち、PublishDepsFilePath によって指定されるパス) にコピーすることはできません。

変更理由

この変更は、次の 2 つの理由で行われました。

  • .NET 5 で機能強化された単一ファイル アプリをサポートするための発行ロジックのリファクタリングに起因します。

  • 単一ファイル アプリでは、deps.json がバンドルされた後に deps.json ファイルの書き換えを試行するターゲットに対する保護を支援するためです。これにより、アプリは、通知なしで影響を受けることがありません。 このため、単一ファイル アプリケーションの場合、PublishDepsFilePath が空になります。

deps. json ファイルを書き換えるターゲットは通常、IntermediateDepsFilePath プロパティを使用して書き換えを行います。

影響を受ける API

該当なし