.NET assemblies and the Visual Designer
- Last Updated: February 19, 2024
- 3 minute read
- OpenEdge
- Version 12.8
- Documentation
.NET classes, including the forms and controls used to build an OpenEdge
GUI for .NET, reside in collections called assemblies. An application that includes .NET
classes must have a list of the assemblies in which those classes are stored. This list
of references is contained in a file called assemblies.xml.
An assemblies.xml file is automatically
created for your Progress Developer Studio for OpenEdge project when you place a control
on a form or manually add an assembly to the project. As you use .NET
Framework objects to build UI components, Progress Developer Studio for
OpenEdge adds the appropriate assembly references to the file so that the assemblies.xml file for a project contains all references
needed for that project.
The Developer Studio supports .NET (.NET 6 and above) and .NET Framework (.NET 4). Based on the project type, Developer Studio loads the .NET or .NET Framework libraries for the project, providing tooling features like content assist for their supported libraries and class browserfor viewing the members of the classes.
.NET project
type.With the availability of content assist and class browser tools with .NET libraries, you can develop an application using .NET.
For .NET projects, the Forms file displays the
following message:

assemblies.xml file,
Progress Developer Studio for OpenEdge also adds a Referenced Assemblies node to the
Project Explorer view, providing a convenient list of the assemblies in use in the
project. If your application uses .NET classes other than those you access with the
Visual Designer, you can add them to the assemblies.xml file through a
dialog that is accessible via right-clicking in the Project Explorer view (or via the
Progress OpenEdge Properties page). assemblies.xml file or from the Project Explorer view. Although
unused assembly references do no harm, if you want to delete them, you must do so
manually. Use the Assemblies dialog in project
properties () to do this.Your application must have access to the assemblies at run time. Thus, the run-time environment must include all referenced assemblies.
Location of assemblies.xml and controls
By default, Progress Developer Studio for OpenEdge creates the
assemblies.xml file in the project's root folder. To specify a
different location, add -assemblies directory-path to the project startup parameters
(). You can enter the absolute directory path or the path relative to
the project working directory.
All controls installed with Progress Developer Studio for OpenEdge
are automatically registered in the Global Assembly Cache (GAC), the standard
repository for .NET.assemblies (in .NET Framework) that are designed for use by
multiple applications running on the local machine. The GAC enables applications to
locate and use all of the assemblies that it contains. Any assemblies used by the
application that are not registered in the GAC must reside in the same directory as
the assemblies.xml file. If you use such
assemblies, be sure to copy them to that location. This requirement applies both to
the run-time environment and to the design-time environment. Failure to keep the
assemblies.xml file and the assemblies together
in the same directory prevents applications from loading the controls at run time,
and may cause various design-time issues.
Updating assembly references to use new controls
Default assemblies
For any ABL application that accesses .NET objects, the AVM automatically loads certain .NET assemblies, including the appropriate versions of:
Progress.NetUI.dll— Assembly where all custom OpenEdge .NET classes resideMscorlib.dll— Assembly where all core Microsoft .NET classes resideSystem.Windows.Forms.dll— Assembly where all Microsoft form and control classes resideSystem.Drawing.dll— Assembly where all Microsoft graphics classes reside
ABL can therefore locate any .NET type that you reference from these
assemblies without their being listed in the assemblies.xml
file.