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 .NET COBOL code

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

Some of the standard .NET 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 COBOL project that includes multi-output assembly support for compiling procedural programs to individual .NET assemblies or executables. You can use this template to move some types of native applications to .NET 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 .NET 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 .NET resources such as classes, WinForms, resources, Service References, Web References is not supported. You need to create these in a separate .NET 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 .NET projects, nor can they be referenced using object COBOL syntax. However, a multi-output project supports adding references to other types of .NET projects.

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.

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.
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.