Synergy/DE project templates
Synergy DBL Integration for Visual Studio includes project templates for
- traditional Synergy OLBs, ELBs, and DBRs. See Traditional Synergy project templates below.
- Synergy .NET assemblies (programs, libraries, and apps). See Synergy .NET project templates below.
- Synergy repositories, which can be used with traditional Synergy and Synergy .NET applications. See the entries for Synergy/DE Repository below.
Synergy project templates are available in the New Project dialog, which opens when you select a Visual Studio option that creates a new project (e.g., File > New > Project). You can use the New Project dialog's search field to find them.
Traditional Synergy project templates
For information on using these templates to develop traditional Synergy applications and libraries, see Developing a traditional Synergy application in Visual Studio.
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:
- You can build an ELB directly from an OLB. To do this, open the ELB project and add a reference to the OLB project. Then remove any source files from the ELB project, and build the ELB.
- To include gennet40-generated source files in an ELB, add the source files as compile files, add the .inc file generated by gennet40 as a content file, and set the "Concatenate source files (-qconcat)" option on the Compile page of project properties before compiling the project.
- For OpenVMS development, use this template for code that will become a shared library. See OpenVMS development.
Projects created with this template can reference traditional Synergy ELB, OLB, and Repository projects.
See the Synergex YouTube video Using the ELB Project Template. |
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 properties, or right-click the source file in Solution Explorer and select "Set as Startup object" from the context menu. (The program set as the startup object is displayed in bold text in Solution Explorer.) For more information, see Application page of Visual Studio project properties (traditional Synergy).
Projects created with this template can reference traditional Synergy ELB, OLB, and Repository projects.
See the Synergex YouTube video Using the Multiple Mainline Project Template. |
For creating a traditional Synergy object library (OLB) that can be linked to or referenced by other libraries and applications. Note the following:
- To build only sources that have been added or changed since the last build, select a Build option from the Visual Studio Build menu. To rebuild the entire project or solution, select a Rebuild option from the Visual Studio Build menu. You will need to do this if you remove a source module and you want the build to reflect that change.
- An OLB project should be referenced by only one project in the solution. (Referencing an OLB project from multiple projects causes the OLB code to be compiled into multiple files for the application.) When creating a library for shared code, use an ELB rather than an OLB.
- To include gennet40-generated source files in an OLB, add the source files as compile files, add the .inc file generated by gennet40 as a content file, and set the "Concatenate source files (-qconcat)" option on the Compile page of project properties before compiling the project.
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.
See the Synergex YouTube video Using the OLB Project Template. |
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 Using Synergy/DE repositories in Visual Studio and Repository page of Visual Studio project properties for more information.
See the Synergex YouTube video Using the Repository Project Template. |
For creating a traditional Synergy program with a single .dbr file. (Only one source file will contain a MAIN.) Projects created with this template can reference traditional Synergy ELB, OLB, and Repository projects.
For creating an MSTest unit test project for traditional Synergy unit tests. When built, a traditional Synergy unit test project results in a traditional Synergy unit test library, which is an ELB. See Unit testing for traditional Synergy for more information.
Synergy .NET project templates
For information on using the following templates to develop Synergy .NET applications and libraries, see Developing for .NET Framework, Developing for .NET Core, and Developing .NET Standard libraries.
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.
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.
For creating a library assembly (.dll) that targets .NET Standard. See Developing .NET Standard libraries for more information.
For creating a console application that runs on .NET Core on Windows. See Developing for .NET Core for more information.
For creating a command-line application (.exe) that targets .NET Framework on Windows.
For creating a project with no source files or references. By default, projects created from this template generate application assemblies (.exe).
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.
- See Preparing Existing Code for Synergy .NET for information on converting xfServerPlus routines for native .NET access.
- See Performing Common Synergy .NET Coding Tasks for information on calling a routine in a Synergy assembly from another .NET assembly.
For information on project properties specific to Interop projects, see Interop page of Visual Studio project properties (Synergy .NET).
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.
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 Using Synergy/DE repositories in Visual Studio and Repository page of Visual Studio project properties for more information.
See the Synergex YouTube video Using the Repository Project Template. |
Unit Test Project (.NET Framework)
For creating a project that contains unit tests.
For creating a library assembly (.dll) with Windows Communication Foundation (WCF) services.
For creating an application with a Windows Forms user interface.
For creating a library assembly (.dll) with controls to use in Windows Forms applications.
For creating a Windows service (.exe).
For creating a Windows Presentation Foundation (WPF) application.
For creating a library assembly (.dll) with user-defined Windows Presentation Foundation (WPF) controls (i.e., controls that extend System.Windows.Forms.UserControl).