これまでずっとVisual Studio 2017を使用していましたが、環境の変更に伴い、Visual Studio 2022を使うことになりました。特に問題なく移行できるだろうと考えていたのですが、C#で新しくWindowsアプリを作成しようとした際に、以下のエラーメッセージが表示されました。
発生したエラー内容
プロジェクト作成時に以下のエラーダイアログが表示されました。
プロジェクト XXX の作成中に1つ以上のエラーが発生しました。
生成されたプロジェクトのコンテンツが不完全である可能性があります。
指定された SDK ‘Microsoft.NET.Sdk’ は見つかりませんでした。
Visual Studio 2022 で C# の Windows アプリケーションを新規作成する場合
.NET Framework 4.8 の Windows Forms アプリケーションを選択すれば、問題なくプロジェクトを作成して実行できるようになりました。
これまで、Windows アプリケーションを開発する場合、.NET Framework にのみ注力していればよかったのですが、最近では名前が似ている全く別のフレームワークである .NET 5 以降(.NET Core) が登場しましした。
.NET 5 以降(.NET Core)の特徴
.NET 5 以降(.NET Core) は、クロスプラットフォーム対応のフレームワークで、Linux、macOS、Windows 上で動作するアプリケーションの開発をサポートしています。
これには、従来の Windows デスクトップアプリケーション(WinForms や WPF)の開発だけでなく、コンソールアプリケーション の開発も含まれます。これにより、同じコードベースで複数のプラットフォーム向けのアプリケーションが作成できるようになりました。
今回、dotnet-sdk-9.0.100-win-x64.exeをインストールした上でDOSから
dotnet –info
を実行し.NET SDKのインストール状況を確認してみたところ
.NET SDKs installed:
No SDKs were found.
のままでした。
根本的な解決には至っていませんが、C# で Windows アプリケーションの開発ができる状態にはなったので、一旦これで良しとします^^
もし詳しい方がいれば、ぜひコメント欄で教えてください(^^)b
※追記
個人的には、クロスプラットフォームで Windows アプリを動かすくらいなら、WEB システムを構築した方が良いと考えていますので、今回の調査は一旦終了します。
Visual Studio 2022でソリューションにC#のWindowsFormプロジェクトを追加する
ソリューションの上で右クリック > 追加(D) > 新しいプロジェクト
プロジェクトを選択する際に、画面上部より
C# / Windows / デスクトップ
と選択すると作成するプロジェクトの種類を絞り込むことが出来ます。
そしてここからがミソなのですが、C#でWindowsアプリを作成する場合、
赤囲みの
Windows フォーム アプリケーション(.NET Framework)
を選択します。
黄色囲みの
Windows フォームアプリ
を選択してしまうと、.NET Frameworkではなく、.NETでのWindowsアプリ開発プロジェクトとなっており、ずっと私の環境ではエラーが発生していました。