Use .NET assemblies in ABL projects
- Last Updated: May 20, 2026
- 3 minute read
- OpenEdge
- Version 13.0
- Documentation
- 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.

You have now completed the installation and configuration of the OpenEdge ABL extension in Windsurf, establishing a fully functional development environment for ABL projects. At this point, your environment supports code completion, compilation, database connectivity, and AI-assisted ABL development within Windsurf (or your IDE) and you can begin working with Cascade (or your AI agent) right away.
For advanced features such as compilation profiles, Code Analyzer for ABL (CABL), application debugging, and remote development, refer to the Riverside VS Code workshop documentation. Ensure that you substitute all references to VS Code with Windsurf to maintain consistency with your current environment.
The next section describes advanced Cascade configuration, including rules, memory, workflows, and models that further improves how the AI agent understands and works with your ABL codebase. To open the Cascade panel, press CTRL+L in Windsurf.