.NET Core SDKのバージョンを指定する

こんにちは。beaglesoftの真鍋です。

最近リリースされた.NET Core 3のSDKをインストールしたところ、古いバージョンのSDKで開発ができなくなってしまいました。dotnetでもRailsのように言語のバージョンを指定できる方法がないかを調べてみたところ、簡単に設定できることを確認したのでまとめてみます。

インストールされているSDKを表示する

インストールされているSDKのバージョンを確認するにはdotnet --list-sdksを実行します。

$ dotnet --list-sdks
2.1.801 [C:\Program Files\dotnet\sdk]
2.1.802 [C:\Program Files\dotnet\sdk]
2.2.401 [C:\Program Files\dotnet\sdk]
2.2.402 [C:\Program Files\dotnet\sdk]
3.0.101 [C:\Program Files\dotnet\sdk]

使用するSDKのバージョンを指定する

使用するSDKのバージョンを指定するには、対象のソリューションファイルが保存されているディレクトリーにglobal.jsonファイルを作成します。

$ dotnet new globaljson --sdk-version 2.2.402

Getting ready...
The template "global.json file" was created successfully.

対象のバージョンを確認する

global.jsonファイルが存在するディレクトリーでバージョンを確認します。

$ dotnet --version
2.2.402

なお、global.jsonファイルが存在しないディレクトリーでバージョンを確認すると最新のSDKバージョンが使用されます。

$ dotnet --version
3.0.101

参考

参考というよりもこちらに書いている内容を試しましたというものになります。

使用する .NET Core のバージョンを選択する - .NET Core | Microsoft Docs global.json の概要 - .NET Core CLI | Microsoft Docs

さいごに

.NET CoreのインストールはVisualStudioを更新すると行われたりして最初は戸惑うのですが、バージョンを指定する方法が用意されていたので一安心です。昔と違ってこの辺はとても簡単な仕組みで利用できるようになったのでありがたいですね。