dotnetup を使用したリポジトリ SDK の要件

Note

dotnetup はパブリック プレビュー段階です。 その機能と動作は、一般公開前に変更される可能性があります。

dotnetup では、 global.json を使用して SDK 要件をリポジトリまたはディレクトリ ツリーに関連付けます。 現在のディレクトリから各親ディレクトリを検索し、最も近い既存の global.jsonを読み取ります。

global.json からインストールする

チャネルを使用せずに SDK インストール コマンドを実行します。

dotnetup install

最も近い global.json に sdk.versionがある場合、 dotnetup はバージョンと rollForward 値からインストール仕様を派生させます。 ファイルへの完全パスを仕様ソースとして記録します。 現在のディレクトリまたはその親ディレクトリに global.json が存在しない場合、コマンドは latest チャネルを使用します。 最も近いファイルの形式が正しくないか、コメントが含まれている場合、解析は失敗します。 dotnetup では、そのファイルをスキップして親ディレクトリを検索することも、latest チャネルを使用することもありません。

rollForward マッピング

dotnetup global.json SDK 選択ポリシーを更新可能なチャネルにマップします。

rollForward 値 SDK 用に保存された dotnetup の要件 10.0.103
省略またはlatestPatch 10.0.1xx
latestFeature 10.0
latestMinor 10
latestMajor latest
disable、patch、feature、minor、または major 10.0.103

正確なバージョンのマッピングはピン留めされており、更新によって変更されません。 allowPrerelease プロパティは、dotnetup が導出するチャネルには影響しません。

global.json からのインストール パス

sdk.pathsにエントリが含まれている場合、dotnetupは最初のパスを使用します。 相対パスは、 global.jsonを含むディレクトリから解決されます。

現在のパブリック プレビュー ビルドでは、 dotnetup は最初のエントリをパスとして扱います。 $host$をセンチネルとして解釈したり、空のエントリをスキップしたりすることはありません。

インストール パスの優先順位は次のとおりです。

  1. --install-path。
  2. 最も近いsdk.paths内の最初のglobal.jsonエントリ。
  3. dotnetup-managed の既定の .NET インストール ルート。

リポジトリ ファイルを最新の状態に保つ

sdk.versionをインストールまたは更新した具体的な SDK バージョンに置き換えるには、--update-global-jsonを渡します:

dotnetup install --update-global-json
dotnetup sdk update --update-global-json

global.json 由来の SDK 仕様のみが更新ワークフローによって更新されます。 修飾子は、他の JSON プロパティ、書式設定、および検出されたテキスト エンコードを保持します。

一致するリポジトリの要件を削除する

追跡対象の global.json 仕様は、ガベージ コレクション中に再読み込みされます。 ファイルが存在しなくなった場合、または SDK バージョンが含まれなくなった場合、仕様は削除されます。

チャネルごとに仕様を削除するには、globaljson ソースを選択します。 このコマンドは、1 つのリポジトリだけでなく、選択したインストール ルート内のすべての一致する仕様を削除します。

dotnetup sdk uninstall 10.0.1xx --source globaljson

dotnetup listを使用して、格納されているチャネル、ソース パス、およびインストール ルートを検索します。 --install-path を追加して、カスタム ルートを選択します。

参照