自己完結型が指定されていない場合の RuntimeIdentifier 警告
プロジェクト ファイルで RuntimeIdentifier
を指定した場合、または dotnet
で -r
オプションを使用した場合は、既定で .NET SDK によって自己完結型アプリケーションとして出力がビルド、発行、実行されます。 RuntimeIdentifier
を指定しない場合は、既定でフレームワークに依存するアプリケーションになります。 この変更では、アプリケーションが自己完結型かどうかを指定しないで RuntimeIdentifier
を指定した場合の新しい警告 (NETSDK1179) が導入されます。
導入されたバージョン
.NET 6 RC 1
以前の動作
以前のバージョンでは、RuntimeIdentifier
を指定すると、アプリケーションはフレームワーク依存アプリケーションから自己完結型アプリケーションに自動的に変更されます。
新しい動作
.NET 6 では、アプリケーションが自己完結型かどうかを指定せずに RuntimeIdentifier
を指定すると、次の警告が表示されます。
warning NETSDK1179: One of '--self-contained' or '--no-self-contained' options are required when '--runtime' is used. (警告 NETSDK1179: '--runtime ' を使用する場合は、''--self-contained' または '--no-self-contained' のいずれかのオプションが必要です。)
たとえば、次のコマンドでは警告が生成されます。
dotnet publish -r win-x86
カテゴリの変更
この変更はソースの互換性に影響を与えることがあります。
変更理由
RuntimeIdentifier
を指定しない場合は、既定でフレームワークに依存するアプリケーションが生成されます。 この既定の動作により、多くのお客様が混乱しました。 この警告を追加する目的は次のとおりです。
- 既定でフレームワーク依存アプリになる動作の変更をお客様に警告します。
- ビルドするアプリケーションの種類を明示的に選択することをお客様に奨励します。
- .NET 7 で可能性のある既定でフレームワーク依存になる動作の変更に、お客様が準備できるようにします。
推奨される操作
- プロジェクト ファイルで
SelfContained
にブール値を指定します。 - または、ビルドまたは発行コマンドに対する値に
--self-contained
を追加します。
影響を受ける API
N/A
関連項目
.NET