これまでずっとVisual Studio 2017を使用していましたが、環境の変更に伴い、Visual Studio 2022を使うことになりました。特に問題なく移行できるだろうと考えていたのですが、C#で新しくWindowsアプリを作成しようとした際に、以下のエラーメッセージが表示されました。
発生したエラー内容
プロジェクト作成時に以下のエラーダイアログが表示されました。
プロジェクト XXX の作成中に1つ以上のエラーが発生しました。
生成されたプロジェクトのコンテンツが不完全である可能性があります。指定された SDK ‘Microsoft.NET.Sdk’ は見つかりませんでした。
エラーを解消する方法
システムのプロパティ > 詳細設定 > 起動と回復 > 環境変数(N)…
環境変数 > システム環境変数(S) > 編集
環境変数名の編集
C:\Proguram Files(x86)\dotnet\
これを削除する事でエラーが出なくなりました。
今回紹介したエラーと対処方法は、日本語圏のブログやサイトでは情報が見つからず、思わぬところで時間を費やしてしまいました。
今後、同じように困った経験をした際は、ぜひブログや備忘録として情報をまとめておきましょう。自分の経験が、他の開発者の助けになることもあります。
.NET 9.0(最新のバージョン)をインストールする
今回、dotnet-sdk-9.0.100-win-x64.exeをインストールした上でDOSから
dotnet –info
を実行し.NET SDKのインストール状況を確認してみたところ
.NET SDKs installed:
No SDKs were found.
のままでした。
正常に.NETがインストールされるとバージョンごとにこの様に表示されます。
Visual Studio 2022でソリューションにC#のWindowsFormプロジェクトを追加する
ソリューションの上で右クリック > 追加(D) > 新しいプロジェクト
プロジェクト選択時のポイント(Visual Studio 2022)
Visual Studio 2022でC#のWindowsアプリケーションを新規作成する際、画面上部で以下の手順を行うとプロジェクトの種類を絞り込めます。
- 「C#」を選択
- 「Windows」を選択
- 「デスクトップ」を選択
これにより、作成するプロジェクトの種類が絞り込まれます。
プロジェクトの選択ポイント
- Windowsフォームアプリケーション(.NET Framework)
赤枠で囲まれたこのオプションを選択すると、レガシー(古い).NET FrameworkベースのWindowsフォームアプリケーションを作成できます。これは、従来のWindowsアプリケーションの開発に適しています。 - Windowsフォームアプリ
黄色枠で囲まれたこちらを選択すると、.NET(.NET Core以降)を使用した最新のWindowsフォームアプリケーションが作成されます。クロスプラットフォーム対応の.NETで開発を行う場合に適した選択肢です。
要点まとめ:
- .NET Frameworkを使用したい場合は、「Windowsフォームアプリケーション(.NET Framework)」を選択。
- 最新の.NETを使用したい場合は、「Windowsフォームアプリ」**を選択。
選択を間違えないよう注意しましょう。