Open topic with navigation
This topic lists basic requirements for developing and deploying Synergy .NET assemblies. It includes the following sections:
To develop with Synergy .NET, you’ll 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 that may apply to your Synergy .NET development, see Synergy DBL Integration Requirements.
A Visual Studio 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 in this topic. For platform-specific application requirements, see the following topics:
Every Visual Studio 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. Most Synergy project templates automatically include this reference. The exception is Synergy portable class library projects (see Runtime library references for portable class libraries below).
The Synergex.SynergyDE.synrnt and Synergex.SynergyDE.Build NuGet packages are installed to a local NuGet repository when SDI is installed and are used for new projects created from .NET Core and .NET Standard templates. From that point on, the packages installed with SDI are completely separate from the packages for the project. Consequently, updating SDI will not update packages for existing projects. Instead, 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.
Using synrnt on Linux systems
On Linux systems, you must manually add the synrnt runtime library (located in dbl/bin) to the global assembly cache or make sure it is in the same folder as your application binaries. To add synrnt to the global assembly cache, use the following command:
sudo GACUTIL -i synrnt.dll
Portable class libraries, which are deprecated, do not include a reference to synrnt, so if all Synergy projects in a solution are for portable class libraries, you must manually add a reference to the Synergex.SynergyDE.synrnt NuGet package, and this reference must be added to a project that is not for a portable class library. For example, if a C# application has a Synergy portable class library, you must manually add this reference to some other project (e.g., to the project for the executable). Use the Visual Studio NuGet Package Manager to install the package; then add the reference.
Synergy .NET assemblies (executables and class libraries) require either traditional Synergy licensing or Synergy device 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 name in the App.config file. See Runtime Settings page, Project Designer (Synergy .NET) for information.
To use device licensing, your application must have a device licensing implementation (see Device licensing (.NET) for information). Additionally, in the project that includes the device licensing attribute (SynergyDeviceLicenseAttribute), select the “Enable Device Licensing” option on the Compile page of Project Designer. (See Compile page, Project Designer (Synergy .NET) for information.) Do not use this option for any other project in a solution.
To deploy a Windows .NET Framework application, the target Windows system must have the following (see Synergy DBL Integration Requirements 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 Core application, the target Windows system must have .NET Core, unless you create a self-contained deployment for the .NET Core application. (See Microsoft documentation for information on .NET Core deployments.)
To deploy to a Linux application, the target system must have Mono.
To deploy a UWP application with a Synergy .NET Standard library, the target system must have a Windows 10 operating system (e.g., Windows 10 Mobile).