次の方法で共有


自己完結型が指定されていない場合の RuntimeIdentifier 警告

プロジェクト ファイルでRuntimeIdentifierを指定するか、-rdotnet オプションを使用すると、.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

なし

こちらも参照ください