こんにちは。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を更新すると行われたりして最初は戸惑うのですが、バージョンを指定する方法が用意されていたので一安心です。昔と違ってこの辺はとても簡単な仕組みで利用できるようになったのでありがたいですね。