Use .NET assemblies in ABL projects
- Last Updated: December 23, 2025
- 3 minute read
- OpenEdge
- Version 12.8
- Documentation
The following steps describe how to configure and use .NET assemblies in an OpenEdge ABL
project. .NET assemblies are used to extend the capabilities of ABL applications by
allowing you to use .NET libraries and components directly within your OpenEdge
projects. You can build more modern and feature-rich applications by combining ABL logic
with .NET capabilities. While compilation of .NET object references is supported, code
completion requires additional setup.
- To enable compilation of .NET object references, create an
assemblies.xml file in your current project directory.
Here is a sample file:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <references> <assembly name="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly name="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly name="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly name="System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <assembly name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly name="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </references> - To reference the assemblies in project configuration, add the following entry to
your openedge-project.json file and restart the ABL
language server to apply the configuration:
"extraParameters": "-assemblies ." - Declare a new variable of
System.Objecttype in the previously created test1.p file:
This code compiles successfully, but code completion is not yet available.DEFINE VARIABLE oObject AS System.Object. - To enable code completion for .NET objects:
- Run the ABL: Generate assembly catalog
command.
A popup window appears.

- The catalog generation may take approximately 30 seconds, depending on the number of assemblies referenced.
- Upon completion, a new file named .builder/catalog.json is created in your project directory. Ensure that this catalog file contains multiple entries. It may include thousands of lines depending on the assemblies used.
- Run the ABL: Generate assembly catalog
command.
- Restart the ABL language server. You should see a message
inOutput similar to:
Read catalog cache in <time> msThis message confirms that the catalog has been successfully loaded.

You can now use code completion for .NET objects in your ABL code.

In the next section, you begin configuring Cascade for AI-assisted development. To launch
the Cascade panel, press Ctrl+L within Windsurf.