超久しぶりに Visual Studio を触ることになりました。まずはリハビリがてら、インストールして、 C# 触って・・・と一通りのことをやってみようと思います。
で、最初に Visual Studio 2022 をインストールしてプロジェクトを作成したら、早速エラーが出ました。せっかくなのでエラーの内容と解決した経緯をメモっておきます。
なお、環境としてはこんな感じです。
- Windows 11 Pro (64ビット), 24H2
- Visual Studio 2022 Community (64ビット), 17.14.7
エラーの内容
Visual Studio 2022 Commynity インストール後、こちらのチュートリアルからコンソールアプリを試すため、プロジェクトを作ってみます。すると、
のような画像が表示されます。
ん?インストールには問題なかったし、インストール直後だからそんな変な構成変更とかもしれないはずなんだけどな?と思いつつ、調べてみると、ダイアログのメッセージの通り .Net SDK がインストールされていない、ということのようです。
確認
まずは、 Visual Studio Installer を起動してインストールしたものを確認してみます。
すると、上記のようにインストールしたコンポーネントにちゃんと含まれています。仕方ないので、ネットを調べてみると、 dotnet --info というコマンドで調べるのがよさそうです。で、やってみると、
あー、『.NET SDKs installed』のところが『No SDKs found』となって、正しく認識されていませんね。どうも、環境変数 PATH が通ってない時も同じ現象になるようなので、それも確認してみると、一応通ってますね。
原因
ここで、ちょっとはまりそうになったのですが、先人がちゃんと解決策書いてくれてました。
どうも、 32bit 版の SDK と 64bit 版の SDK の両方があるんだけど、そのパスの順序が入れ替わってて、 64bit 版の SDK が見つけられないのが、今回のエラーの原因のようです。
Microsoft のサイトにも載ってました。
Windows に .NET をインストールする - .NET | Microsoft Learn
修正
ということで、パスを修正します。 Windows の設定から、システム環境変数を開いて、PATHをクリックして、編集を行います。
C:\Program Files\dotnet
が
C:\Program Files(x86)\dotnet
のように上に来るように入れ替えます。こんなかんじになれば OK です。
確認
これで、再度 Visual Studio を起動して、プロジェクトを作成すると、無事にエラーがなくなりました。わかってしまえばこれだけのことなんですが、はまる人多そうだな、これ。
ちなみに、修正後にもう一度 dotnet --info を実行すると
こんな感じになりました。修正前とよく比べてみると、『Host』の『Architecture』のところに、『win-x86』とか、『x64』とか載っていたり、『 Other architecture found 』のところに、 64bit 版(32bit 版)の表記があったり、今回のトラブルの解決のヒントとなる情報がいくつも載ってました。
ま、なんにせよインストーラ直してもらえるとありがたいです > Microsoft さん