次の方法で共有


発行作業専用の自動ランタイム識別子

7.0.100 SDK では、ランタイム識別子 (RID) を必要とするプロパティを持つプロジェクトにを自動的に追加する<RuntimeIdentifier>がありました。 これらのプロパティは次のとおりです。

  • SelfContained
  • PublishAot
  • PublishReadyToRun
  • PublishSingleFile
  • PublishSelfContained

ただし、 SelfContained を除くこれらのプロパティはすべて、発行にのみ使用されます。 ただし、これらのプロパティがプロジェクト ファイル内にあるか、dotnet コマンドの一部として指定されている場合、暗黙的なdotnet操作に追加されました。

これで、これらのプロパティの自動 RID ( SelfContainedを除く) は、発行時にのみ追加されます。 さらに、自動 RID は、 dotnet publish CLI コマンドを使用する場合にのみ追加されます。 Visual Studio または msbuildから発行する場合は追加されません。これらは個別のメカニズムであり、Visual Studio は独自の RID を提供する必要があるためです。

導入されたバージョン

.NET 7.0.200 SDK

以前の動作

以前は、前述のプロパティのいずれかを指定した場合、RID はプロジェクトに自動的に追加されていました。

新しい動作

RID は、 dotnet publish コマンドに対してのみ自動的に追加されます。

.NET 7 で RID なしで復元を実行し、それを使用して前述のプロパティのいずれかを持つプロジェクトの publish --no-restore コマンドに対して復元する場合は、 dotnet restore -r <RID>を使用して RID を指定する必要があります。

破壊的変更の種類

この変更は、 バイナリの互換性ソースの互換性に影響する可能性があります。

変更の理由

RID の変更は重大な変更であり、発行プロパティを変更して、 dotnet build およびその他の発行関連以外のコマンドを中断する必要はありませんでした。

restoreの後にpublish --no-restoreが続くようなアクションの場合は、dotnet restore -r RIDを使用して RID を追加する必要があります。 この場合は、発行時に明示的に指定して、発行に同じ RID ( dotnet publish -r RIDを使用) を設定することをお勧めします。 または、publish コマンドから --no-restore を削除することもできます。

それ以外の場合は、アクションは必要ありません。 ただし、RID を保持する場合は、次のようにプロジェクト ファイルに追加します: <RuntimeIdentifier>win-x64</RuntimeIdentifier>

こちらも参照ください