プロジェクト ファイルでRuntimeIdentifier
を指定するか、-r
で dotnet
オプションを使用すると、.NET SDK によって、ビルド、発行、および実行の出力が既定で自己完結型アプリケーションになります。
RuntimeIdentifier
を指定しない既定値は、フレームワークに依存するアプリケーションを持つことです。 この変更では、アプリケーションが自己完結型かどうかを指定せずに RuntimeIdentifier
を指定すると、新しい警告 (NETSDK1179) が発生します。
導入されたバージョン
.NET 6 RC 1
以前の動作
以前のバージョンでは、 RuntimeIdentifier
を指定すると、アプリケーションがフレームワーク依存アプリケーションから自己完結型アプリケーションに自動的に変更されます。
新しい動作
.NET 6 では、アプリケーションが自己完結型かどうかを指定せずに RuntimeIdentifier
を指定すると、次の警告が表示されます。
警告 NETSDK1179: '--runtime ' を使用する場合、''--self-contained' または '--no-self-contained' のいずれかのオプションが必要です。
たとえば、次のコマンドを実行すると警告が生成されます。
dotnet publish -r win-x86
カテゴリの変更
この変更は、ソースの互換性に影響を与える可能性があります。
変更の理由
RuntimeIdentifier
を指定しない既定値は、フレームワークに依存するアプリケーションを生成することです。 このデフォルト設定が原因で、多くのお客様が混乱しました。 警告を追加する目的は次のとおりです。
- 動作が既定のフレームワークに依存するアプリに変更された場合に、ユーザーに警告します。
- ビルドするアプリケーションの種類を具体的に選択するようお客様に勧めます。
- .NET 7 の動作を既定のフレームワークに依存するように変更する可能性のあるお客様を準備します。
推奨されるアクション
-
SelfContained
のプロジェクト ファイルにブール値を指定します。 - または、ビルドまたは発行コマンドに値を含む
--self-contained
を追加します。
影響を受ける API
なし
こちらも参照ください
.NET