Types of COBOL Project Templates

Template installation

COBOL project templates are either installed with Visual COBOL, or can be installed afterwards from the Visual Studio IDE.

COBOL projects that compile to native code

Visual COBOL enables you to create projects for applications that compile to native code. For example, the following native project templates, among others, are supplied:

Console Application
Adds the items needed to create a console application. Console applications are typically designed without a graphical user interface and are compiled into a stand-alone executable file. A console application is run from the command line with input and output information being exchanged between the command prompt and the running application.
Enterprise Server Application
Creates a COBOL project that supports COBOL-based service interfaces with the Interface Mapping Toolkit (IMTK). This template is installed with the Enterprise Server feature and is not available otherwise.
Micro Focus INT/GNT
Creates an empty project for INT/GNT code and offers project properties specific to the .int and .gnt file types.
Unit Test Library
Creates a project and test program for use with the Micro Focus Unit Testing Framework.

COBOL projects that compile to managed code

Visual COBOL includes a number of project templates for creating .NET managed code applications. These templates are installed with Visual COBOL.

Some of the standard managed COBOL project templates are:

Class Library (.NET Framework)
Creates reusable classes and components that can be shared with other projects. Typically, this is built into a .dll file.
Windows Forms Application (.NET Framework)
Creates an empty Windows form and skeleton COBOL code behind the form. It adds the necessary .NET Framework classes, such as System.Windows.Forms to the project references. It creates default project properties.
WPF Application (.NET Framework)
Creates a COBOL client application for User Interfaces that uses the Windows Presentation Foundation (WPF) presentation features.
Procedural Multi-Output Project (.NET Framework)
Creates a special type of a .NET project that includes multi-output assembly support for compiling procedural programs to individual managed assemblies or executables. You can use this template to move some types of native applications to managed code; for example, INT/GNT applications, applications that require code changes in order to preload modules, and applications that include large numbers of source files.
This template creates a single assembly for each individual program within the project, enabling the COBOL run-time system to locate assemblies for called subprograms by matching the name of each called subprogram to its corresponding assembly file name. This eliminates the need to preload assemblies.
Note: Using this template can result in a large number of managed assemblies, which means deployment of the application might not be straightforward. You might need to consider consolidating programs into fewer assemblies to ease the distribution and maintenance of your application.

The following limitations apply to this project type:

  • Adding managed resources such as classes, WinForms, resources, Service References, Web References is not supported. You need to create these in a separate managed project and reference that project from within the Procedural Multi-Output project.
  • The programs generated from the procedural multi-output project cannot be referenced from other managed projects, nor can they be referenced using object COBOL syntax. However, a multi-output project supports adding references to other types of managed projects.

Projects for creating COBOL applications to run on .NET Core

Visual COBOL includes a number of project templates for creating COBOL applications to be deployed to .NET Core platforms. These templates become available after installing the .NET Core feature from the Visual Studio IDE. See To install missing features from the IDE for details.

Class Library (.NET Core)
Creates reusable classes and components that can be shared with other projects that are targeted for .NET Core. Typically, this is built into a .dll file.
Console App (.NET Core)
Adds the items needed to create a console application that will be deployed to run under .NET Core. Console applications are typically designed without a graphical user interface and are compiled into a stand-alone executable file. A console application is run from the command line with input and output information being exchanged between the command prompt and the running application.

Projects for creating COBOL Azure cloud services

Visual COBOL includes a template for creating projects to generate applications for COBOL Azure cloud services. This template becomes available after installing the Azure tools feature from the Visual Studio IDE. See To install missing features from the IDE for details.

Note: As a prerequisite to developing Azure cloud services applications, Visual COBOL requires that the Windows Azure Tools are installed. See Additional Software Requirements for information.

SQL Server Database project

The SQL Server Database Project creates a COBOL project that enables you to create SQL CLR stored procedures, and a .Publish project that you can use to publish your SQL CLR stored procedures directly to a SQL Server database. This template becomes available after installing the ASP.NET and web development tools feature from the Visual Studio IDE. See To install missing features from the IDE for details.

Projects for creating ASP.NET COBOL Web applications

Visual COBOL provides a number of project templates for creating COBOL applications that can be deployed to an ASP.NET Web site. The ASP.NET templates become available after installing the ASP.NET and web development tools feature from the Visual Studio IDE. See To install missing features from the IDE for details.

ASP.NET Web Application
Creates a COBOL application that you deploy on the Web using the Visual Studio deployment tools.
ASP.NET Web Service Application
Creates a COBOL ASP.NET Web service that you deploy on the Web.

Projects for creating Windows Communication Foundation (WCF) service applications

These templates enable you to build service-oriented applications using the WCF. They become available after installing the WCF tools feature from the Visual Studio IDE. See To install missing features from the IDE for details.

Note: As prerequisites to developing WCF service applications, Visual COBOL requires:
  • A full version of Visual Studio. This feature is not supported when using a Visual Studio Shell.
  • The Windows Communication Foundation workload is installed in Visual Studio. See Additional Software Requirements for information.
WCF Service Application
Creates a project for building a service-oriented COBOL applications. The WCF services consist of a number of operations that you can expose to client applications via different endpoints.
WCF REST Service Application
Creates a COBOL WCF REST Application service. For more information about WCF and REST, check the Microsoft MSDN.