WinForms Designer Selection for 32-bit .NET Framework Projects

Visual Studio 2022 Release
In the latest Visual Studio 2022 release, v17.9, the WinForms team introduced a preview feature - the out-of-process designer support for .NET Framework projects. This update addresses the challenge faced by users with Windows Forms .NET Framework projects that rely on ActiveX/COM controls or custom controls in 32-bit assemblies.
Major Enhancements in v17.9 Release
- Improved Type Resolution: Enhanced type resolution for .NET Framework projects.
- ActiveX/COM Support: ActiveX/COM support for both .NET Framework and .NET projects.
- Designer Selection Feature: New feature to monitor 32-bit assembly load failures in .NET Framework projects.
Designer Selection Feature Explained
The Designer Selection Feature allows users to choose between in-process and out-of-process designer support for .NET Framework projects. By selecting 'No,' the project continues to use the in-process designer, which may not be able to design forms referencing 32-bit components due to limitations in 64-bit processes.
To automatically add the designer selection as a project configuration property, enable the 'Remember for current project' option. This will add the 'UseWinFormsOutOfProcDesigner' property to each project configuration.
Out-of-Process Designer Functionality
In contrast to the in-process designer, the out-of-process designer is more selective in loading design-time assemblies, either into a dedicated server process or the client Visual Studio process. It may omit code related to controls that the designer cannot render, especially for controls with custom CodeDOM serializers.
Roadmap for .NET Framework Projects Support
The WinForms team plans to enhance toolbox support for controls referenced in the solution in future Visual Studio releases. This support aims to facilitate the transition for developers of WinForms .NET Framework applications utilizing legacy 32-bit components.
Closing Notes
The Designer Selection Feature and out-of-process designer support for .NET Framework WinForms applications serve as a short-term solution for projects with legacy 32-bit components. The WinForms team continues to gather feedback and work towards a final solution that aligns with the evolving needs of the community.
For more details on the WinForms strategy for 32-bit components, refer to Klaus Loffelmann and Merrie McGaw’s recent blog: WinForms in a 64-Bit world – our strategy going forward.
We value your feedback and input as we strive to enhance the Visual Studio experience.