--- lang: ja-jp breaks: true --- # visual studio 2022 をバージョン17.5.1 に上げてから、C# Formデザイナーが開かなくなりました。 2023-03-08 ## 再現環境 * Windows 11 Pro 22H2 (22621.1265) * Microsoft Visual Studio Professional 2022 (64 ビット) - Current Version 17.5.1 ## 再現手順 1. Visual Studio 2022を立ち上げて、「新しいプロジェクトの作成」をクリックします。 2. 「Windows フォーム アプリ」テンプレートを選択して「次へ」を押します。 3. プロジェクト名はデフォルトのまま。例えば、「WinFormsApp4」 4. 場所は、適当な場所。 5. ソリューション名はデフォルトまま。例えば、「WinFormsApp4」 6. 「ソリューションとプロジェクトを同じディレクトリに配置する」のチェックを外す 7. 「次へ」をクリックし、フレームワークで「.NET 7.0(標準用語のサポート)」を選択して「作成」を押します。 * 「.NET 6.0」でも同様の現象。 8. ソリューションエクスプローラを確認すると、「Form1.cs」のアイコンがFormを表すもので表示され、正常に動作します。 ![](https://i.imgur.com/WY5pajk.png) 9. 一旦、Visual Studio 2022を閉じます。 10. エクスプローラから、該当のソリューションファイルがあるディレクトリに移動し、「.vs」フォルダを削除します。 11. 「WinFormsApp4」フォルダの中から、「bin」と「obj」フォルダ、「WinFormsApp4.csproj.user」ファイルを削除します。 12. 「WinFormsApp4.sln」を Visual Studio 2022で開きます。 ![](https://i.imgur.com/jI6qvoN.png) このまままっていても、「Form1.cs」のアイコンがFormのものにかわることはありません。 ダブルクリックしても、ソースコードが表示されるだけでFromデザイナは表示されません。 ## 一次的な解決方法 Windows Form関連のモジュールが、`form` フォルダにある場合は、`*.csproj` に以下を追加すればフォームデザイナを開くことが出来ます。 ```xml= <ItemGroup> <Compile Remove="form\**\*.cs" /> <Compile Include="form\**\*.Designer.cs" /> <Compile Include="form\**\*.cs" Exclude="form\**\*.Designer.cs"> <SubType>Form</SubType> </Compile> </ItemGroup> ``` `form`フォルダにない場合かつ、該当のフォームモジュールのクラス名に`Form`という文字列がある場合は、`*.csproj` ファイルに以下を追記する事で、一旦解消できます。 ```xml= <ItemGroup> <Compile Remove="**\*Form*.cs" /> <Compile Include="**\*Form*.Designer.cs" /> <Compile Include="**\*Form*.cs" Exclude="**\*Form*.Designer.cs"> <SubType>Form</SubType> </Compile> </ItemGroup> ``` ![](https://i.imgur.com/N4O1AsJ.png) ## Windows11 をクリーンインストールした仮想マシンに、Visual Studio 2022をインストールして試したところ、正常に動作した。 何が原因か、さらに検証が必要。。。 ## 似たような事象がフィードバックとして報告されていた。 2021年03月なので関係ないか。。。 > VS2022 で Windows フォームプロジェクトを作成するとフォームデザイナを開けない > https://developercommunity.visualstudio.com/t/vs2022-%E3%81%A6-windows-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%95%E3%83%AD%E3%82%B7%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%A8%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%86%E3%82%B5%E3%82%A4%E3%83%8A%E3%82%92%E9%96%8B%E3%81%91%E3%81%AA%E3%81%84/1574761 > > ブロックを解除するための回避策を紹介します。VSでプロジェクトを開いた後、ソリューションエクスプローラでForm1.csファイルにフォーカスし、Build Actionプロパティを別の値に変更し、C#コンパイラに戻る。しばらく待つと、フォームデザイナーが復活します。 > VS 2022 - WinForms .NET Designer does not automatically show the design surface when creating a new project > https://developercommunity.visualstudio.com/t/WinForms-NET-Designer-does-not-automati/1570208 ###### tags: `Visual Studio 2022` `Visual Studio` `WinForm` `Formデザイナ`