Synergy .NET Requirements

This topic lists basic requirements for developing and deploying Synergy .NET assemblies. It includes the following sections:

Development system requirements

To develop with Synergy .NET, you will need a Windows development machine with Visual Studio, Synergy/DE, and Synergy DBL Integration for Visual Studio (SDI). For details on these and other system requirements, see www.synergex.com/synergy-dbl-integration.

Application requirements

A solution that includes one or more Synergy projects must have a reference to Synergy runtime libraries and must use Synergy licensing. These requirements are discussed below. For framework-specific requirements and development information, see the following topics:

Synergy runtime and build libraries

Every solution that has a Synergy .NET project must have a reference to Synergy runtime libraries, either the synrnt library distributed with Synergy/DE or the Synergex.SynergyDE.synrnt NuGet package. Synergy project templates automatically include this reference.

The Synergex.SynergyDE.synrnt and Synergex.SynergyDE.Build NuGet packages are downloaded to a local NuGet repository when SDI is installed. These packages are used for new projects created from SDK-style templates. Visual Studio checks the NuGet site for updates, and when a package on the NuGet site is updated, you can use the NuGet Package Manager to update the package for a project.

Licensing .NET assemblies

Synergy .NET assemblies (executables and class libraries) require either traditional Synergy licensing or Synergy device licensing (which uses a cloud service for licensing).

If your application uses traditional Synergy licensing and the target machine has not been configured for local Synergy licensing, you must specify a license server in the App.config file or with the SynergyLicenseServer environment variable. (See Runtime Settings page of Visual Studio project properties (Synergy .NET) and SynergyLicenseServer.) For example, if you deploy a Synergy .NET 6 or higher assembly to a machine that doesn’t have Synergy/DE, you will need to set SynergyLicenseServer in the environment (e.g., in the launch configuration file for the application) because App.config files are not used for .NET 6 or higher.

Tip

You can implement a cloud version of traditional Synergy licensing by running a Synergy license server machine on an Azure virtual network (VNet). (The machine doesn’t need to be powerful; it can have very little RAM, a small CPU, etc.) Then, on every machine that needs Synergy licensing, set the SynergyLicenseServer environment variable to the Synergy license server. With this setup, you can support a scalable, flexible licensing environment that can work with a large number of license client machines or with varying numbers of machines that need varying numbers of licenses. For example, you can use this kind of setup to support Docker services.

Deployment requirements

To deploy a .NET Framework application, the target system must have the following (see www.synergex.com/synergy-dbl-integration for information on required versions of these products):

With ClickOnce deployment, it is possible to deploy a .NET Framework application to Windows machines that do not have Synergy/DE, but this is not supported. See ClickOnce Deployment for Synergy .NET for more information.

To deploy a .NET 6 or higher application, either the target system must have .NET 6 or higher, or the deployment must be self-contained. If the target system for a self-contained deployment has a version of Windows prior to Windows 10 or Server 2016, make sure Windows is up to date and includes the Update for Universal C Runtime in Windows. For more information on .NET 6 and higher deployments, see Microsoft documentation. If you deploy to systems with older versions of Synergy/DE, target these versions when you build, and then use remote debugging to test on other systems (e.g., on virtual machines) with these versions of Synergy/DE.