Application Properties for .NET COBOL

The Application property page for .NET COBOL projects lets you specify properties such as the name of the target assembly file to build and output type, targeted version of the .NET framework, .NET or Startup object.
Assembly name
The name of the target file to be built and the name of the output assembly. By default, this is the same as the project name. Equivalent to the ILASSEMBLY Compiler directive.
Default namespace
A design time only property that allows new classes to be automatically added to the default namespace.
Target framework
Specify the version of the .NET Framework your application is to be compiled for. Only versions 4.n and later are supported.

For applications targeting .NET, Target framework specifies the version of .NET rather than the .NET Framework.

Note: Support for .NET Framework versions 3.0 and 3.5, and for the CLR v2 has been deprecated. The option 2 of the ILCLR directive has also been deprecated.

By default, new Micro Focus project templates are now targeting the default version of the .NET Framework (4.n) installed with Visual Studio, and CLR 4. You need to update the Target platform of any existing applications to .NET Framework 4.n and recompile them in this release.

Versions of Visual Studio prior to Visual Studio 2008 targeted a specific .NET framework (.NET Framework version 2.0 was included with Visual Studio 2005, .NET Framework 3.0 was included with Windows Vista). Versions of Visual Studio 2008 and later can target the .NET framework version that you specify. When you change the target framework, the IDE requires that you close the project and reload it.

When you migrate a project or solution that was created with an earlier version of Visual Studio, the target .NET framework version stays the same. For example, when you migrate a Visual Studio 2005 project to 2008, the .NET Framework version stays set to 2.0.

Auto-generate binding redirects
Enabled by default. Creates binding redirects in your project automatically if your code references more than one version of the same assembly. Disable this option to create the binding redirects manually.
Output type
Defines the type of project to be built. This is one of console, library or windows. Console defines a console application (always an .exe), library defines a library project such as a collection of shareable classes (always a .dll), and windows defines a windows application. This is initialized depending on the type of new project the user creates. This is equivalent to ILGEN for a console application, ILGEN (SUB) for a library, and ILGEN(SUB) ILSUBSYSTEM(2) for a windows application.
Use COBOL Runtime Metapackage
.NET projects only. Disabled by default. Check this if you have a project created with release 8.0 or earlier that fails to compile in this release. Enables compatibility for existing projects. You do not need this metapackage for new .NET COBOL projects, or for older projects, if you specify any required NuGet packages from the Advanced Package Selection dialog box.
Advanced Package Selection
Click this to specify any NuGet packages that your application needs:
File handler
Choose one of the following options:
  • None - default option. No File Handler NuGet package
  • Use Managed - to include any assemblies required for the .NET COBOL file handler. This is equivalent to specifying the CALLFH"EXTFH" and CALLSORT"EXTSM" Compiler directives.
  • Use Native - to include any supporting native runtime libraries required for the native file handler. This is equivalent to specifying the CALLFH"NATIVEFH" and CALLSORT"NATIVESM" Compiler directives.
Additional features
  • Use ADIS - check this to include the assemblies supporting execution of extended ACCEPT/DISPLAY statements.
  • Use SLR - check this to include the assemblies providing ACUCOBOL-GT COBOL compatibility support.
  • Use XML - check this to include the assemblies supporting execution of XML GENERATE and XML PARSE statements.
  • Use JSON - check this to include the assemblies supporting execution of JSON GENERATE and JSON PARSE statements.
Startup object
Defines the method entry of the application, for .exe-based projects. If no entry name is specified for a Console or Windows application (.exe type), the first static method in the first program (in OO code) or the first procedure division (in procedural code) becomes the main entry point. The name needs to be the full method name as defined in the Program-ID (in order to include the namespace). Equivalent to the ILMAIN Compiler directive.

Assembly Information

Assembly Identity Attributes
Culture
The name of the culture this assembly supports. Equivalent to the ILCULTURE Compiler directive.
Version
The version of this assembly. Equivalent to the ILVERSION Compiler directive.
Assembly Information Attributes
Custom attributes in the assembly manifest for Company, Copyright, Product and Trademark. Equivalent to the ILCOMPANY, ILCOPYRIGHT, ILPRODUCT and ILTRADEMARK Compiler directives.
Assembly Manifest Attributes
Custom attributes in the assembly manifest for Description and Title. Equivalent to the ILDESCRIPTION and ILTITLE Compiler directives.
Assembly Strong Name Attributes
Delay Sign
Indicates whether you want to reserve space in the executable file for the strong name signature, but defer the actual signing until a later stage. Equivalent to the ILDELAYSIGN Compiler directive.
Key File
The name of a file that contains a key or key pair for strong naming the assembly. Equivalent to the ILKEYFILE Compiler directive.
Key Name
The name of container of a key or key pair that has been installed in the Crypto Service Provider (CSP). Equivalent to the ILKEYNAME Compiler directive.

Resources

The Resources section enables you to specify how the application resources will be managed. You can choose between "Icon and Manifest" or specifying a location for a resource file. The manifest can be used for User Account Control (UAC) configuration in Windows Vista or Windows Server 2008.

When you embed a custom manifest, an app.manifest file is added to the project. This file is placed in the Properties folder of the project.