Visual Studio Designer
Actipro WinForms Controls can be configured using Visual Studio designer functionality. The designer experience is based on the target framework of a project. All versions of .NET Framework have been supported by Visual Studio for many years. However, support for .NET is relatively new to Visual Studio and requires a radically different approach to host those controls in the designer.
.NET Framework Support
Proper designer support for .NET Framework requires that controls have been installed by the WinForms Controls Installer with the Visual Studio Designer Functionality option selected.
Important
Due to limitations with NuGet packages, our controls must be installed as noted above even when working with NuGet package references. This is only necessary for design-time support and the installer is not required on build machines when NuGet packages are used.
.NET 6 and Higher Support
To support Visual Studio design-time functionality with .NET 6 or higher, controls must be referenced as NuGet packages. See the NuGet Packages and Feeds topic for additional information on working with NuGet packages.
Visual Studio designer support for .NET is stable and new versions of Visual Studio will likely not require new versions of our controls. With each new Visual Studio version that is incompatible with the previous version, we intend to publish updated NuGet packages to support the latest version of Visual Studio. Only the latest version of WinForms Controls will be updated to support the new releases of Visual Studio.
Visual Studio Support Matrix
The following outlines the compatibility of Actipro WinForms Controls with versions of Visual Studio.
WinForms Controls Versions | Supported Visual Studio Versions |
---|---|
WinForms Controls v25.1 |
|
WinForms Controls v24.1 |
|
WinForms Controls v23.1 |
|
WinForms Controls v22.1 |
|
WinForms Controls v21.1 |
|
All other versions |
None |
The above table if for .NET designer support only and does not apply to any version of .NET Framework.
.NET Framework Designer Workaround
If you are unable to use a WinForms Controls version that is compatible with the version of Visual Studio you are using, you may be able to use the .NET Framework designer support instead.
While the designers themselves are framework-specific, the code serialized by the designers will work across frameworks. This means that even if you design your user interface using .NET Framework designers, the same code can still be compiled for .NET targets. Even if you do not plan to ship with support for .NET Framework, you can still target .NET Framework by your project to enable use of the designers. See the "Multi-Framework Projects" section below for additional information.
Multi-Framework Projects
As noted above, the Visual Studio designer capabilities vary between projects that target .NET and those that target .NET Framework. What if you target both?
Note
For most versions of Visual Studio, any project which is configured to target multiple frameworks cannot switch designer capabilities while the project is loaded. Changing the target framework of the Visual Studio debugger does not affect the design-time functionality.
The TargetFrameworks
property of a project configuration file is used to define multiple targets in a semicolon-delimited list. The first framework listed will dictate which designer capabilities are used by Visual Studio.
In the following example, the .NET Framework designer capabilities will be used since the first target of net462
is based on .NET Framework:
<TargetFrameworks>net462;net471;net60-windows</TargetFrameworks>
Warning
Starting with Visual Studio 2022 v17.6, mixing .NET Framework-based targets (e.g., net48
) with .NET-based targets (e.g., net6.0-windows
) is only supported if the .NET Framework-based target is listed first. This will force the .NET Framework designer functionality and requires the installer option mentioned in the ".NET Framework Support" section above. To continue using the .NET-based designer functionality in Visual Studio 17.6, all .NET Framework-based targets must be removed.
Important
See the requirements noted above for .NET Framework or .NET based on which target framework will govern the designer capabilities of your project.