rksoftware

Visual Studio とか C# とかが好きです

dotnet コマンドで使われる dotnet のバージョンを指定する

概要

ディレクトリに global.json ファイルを作って設定を書いておくとそのバージョンが使われます。

作り方

コマンドで簡単に作れます。
最後で指定しているバージョンになります。

dotnet new globaljson --sdk-version 5.0.301

注意

指定するバージョンを間違えてインストールされていない(存在しない)バージョンを設定してしまうと、その後 dotnet コマンドがエラーになってしまいます。

Could not execute because the application was not found or a compatible .NET SDK is not installed.

やってしまった場合は、素直に global.json ファイルを削除してしまいましょう。

ファイルの中身

非常にシンプルで、こんな感じです。

{
  "sdk": {
    "version": "5.0.301"
  }
}

実はいらなかった

これ、今回、.NET 6 の新機能を試そうと思って、まずはこれまで ( .NET 5 以前 ) では使えないことを確認したいと思って使ってみたのですが。

error NETSDK1045: 現在の .NET SDK は、ターゲットとする .NET 6.0 をサポートしていません。.NET 5.0 以下をターゲットとす るか、.NET 6.0 をサポートする .NET SDK のバージョンを使用してください。

というエラーでビルドできないだけという事実を突き付けられました。それはそうですよね。結局、.csproj ファイルの TargetFramework を書き換えてためしました。

せっかくなので書き残しておきます。