Synergy/DE project templates

Synergy DBL Integration for Visual Studio includes project templates for

Synergy project templates are available under Synergy/DE in the Installed area of the New Project dialog, which opens when select a Visual Studio option that creates a new project (e.g., File > New > Project).

Traditional Synergy project templates

Executable Library (ELB)

For creating a traditional Synergy executable library (ELB), which is a collection of traditional Synergy routines that can be used in traditional Synergy OLBs, DBRs, and other ELBs. Note the following:

Projects created with this template can reference traditional Synergy ELB, OLB, and Repository projects.

Multiple Mainline (DBR)

For creating a traditional Synergy project that results in multiple traditional Synergy mainline programs. Use this to create an application that is distributed as a number of DBRs (which are typically linked against common libraries). Note that each source file results in a separate .dbr file, and each source file can be run and debugged separately. To do this, right-click the source file in Solution Explorer and then select Start Debugging or Start Without Debugging from the context menu.

To specify which program in a multiple mainline project is the entry point for the application, set the Startup object option on the Application page of Project Designer, or right-click the source file in Solution Explorer and select Set as Startup object from the context menu. For more information, see Application page, Project Designer (traditional Synergy).

Projects created with this template can reference traditional Synergy ELB, OLB, and Repository projects.

Object Library (OLB)

For creating a traditional Synergy object library (OLB) that can be linked to or referenced by other libraries and applications. Note the following:

Projects created with this template can reference source files and Repository projects.

For information on building an ELB directly from an OLB, see Executable Library (ELB) above.

Synergy/DE Repository

For creating a repository that can be referenced by traditional Synergy and Synergy .NET projects. Repository projects replace RPSMFIL and RPSTFIL settings and enable the build system to know when a project should be rebuilt due to a repository change. See Repository page, Project Designer and Using Synergy/DE repositories in Visual Studio for more information.

Traditional Application (DBR)

For creating a traditional Synergy program with a single .dbr file. Projects created with this template can reference traditional Synergy ELB, OLB, and Repository projects.

Synergy .NET project templates

ASP.NET Server Control Library

For creating a library assembly (.dll) that contains ASP.NET web server controls—i.e., controls that extend System.Web.UI.WebControls.

Class Library (.NET Core)

For creating a library assembly (.dll) that targets .NET Core on Windows. See Developing for .NET Core for more information.

Class Library (.NET Framework)

For creating a library assembly (.dll) that targets .NET Framework on Windows.

Class Library (.NET Standard)

For creating a library assembly (.dll) that targets .NET Standard. See Developing .NET Standard libraries for more information.

Console App (.NET Core)

For creating a console application that runs on .NET Core on Windows. See Developing for .NET Core for more information.

Console App (.NET Framework)

For creating a command-line application (.exe) that targets .NET Framework on Windows.

Empty Project

For creating a project with no source files or references. By default, projects created from this template generate application assemblies (.exe).

Interop

For accessing Synergy routines from a .NET assembly created with another language. This template was designed for converting xfServerPlus routines for native .NET access, but it can be used in other cases. See the following for more information.

For information on project properties specific to Interop projects, see Interop page, Project Designer (Synergy .NET).

Portable Class Library

Microsoft has deprecated this project type. Instead, use the Class Library (.NET Standard) template to create portable libraries.

For creating a library assembly (.dll) that can run on multiple platforms supported by Synergy .NET. The following targets are supported:

These options are available on the Add Portable Class Library window (which opens when you create a portable class library project), and they are on the Change Targets window, which opens if you click Change on the Library page of Project Designer. Note that these windows include target options that are not available for Synergy .NET development. Selecting an unnecessary target (e.g., an unsupported platform) will unnecessarily limit framework resources you can use with the project.

Synergy Custom Action

For creating an MSI custom action when using the Windows Installer XML (WiX) toolset. Use this when you need to invoke Synergy-specific functionality in a WiX installer—e.g., if you want to create or modify an ISAM file as part of a WiX install.

Synergy/DE Repository

For creating a repository that can be referenced by traditional Synergy and Synergy .NET projects. Repository projects replace RPSMFIL and RPSTFIL settings and enable the build system to know when a project should be rebuilt due to a repository change. See Repository page, Project Designer and Using Synergy/DE repositories in Visual Studio for more information.

Unit Test Project (.NET Framework)

For creating a project that contains unit tests.

WCF Service Library

For creating a library assembly (.dll) with Windows Communication Foundation (WCF) services.

Windows Forms Application

For creating an application with a Windows Forms user interface.

Windows Forms Control Library

For creating a library assembly (.dll) with controls to use in Windows Forms applications.

Windows Service

For creating a Windows service (.exe).

WPF App (.NET Framework)

For creating a Windows Presentation Foundation (WPF) application.

WPF User Control Library

For creating a library assembly (.dll) with user-defined Windows Presentation Foundation (WPF) controls (i.e., controls that extend System.Windows.Forms.UserControl).