Differences for SDK-style projects
With a few exceptions, only features that are supported for .NET Framework are supported for SDK-style projects (i.e., for .NET Standard and .NET 6 and higher). Accordingly, features listed in Features that are not supported for Synergy .NET development are unsupported, and the differences listed in Differences for Synergy .NET apply to SDK-style projects. In addition to these differences, this topic lists further differences in support for SDK-style projects. Note that routines that are part of an unsupported API or product are not listed individually in this topic.
There are two general categories of SDK-style projects:
- Those that target a Windows-specific version of .NET, that have names that include the word “Windows” (e.g., “.NET 6.0 Windows”). These versions of .NET support a subset of Windows-specific features (e.g., WPF and Windows Forms), but can run only on Windows x86 and x64.
- Those that target cross-platform versions of .NET (e.g., “.NET 6.0”). These versions have names that do not include the word “Windows”. In this topic, programs that target these platforms are referred to as “.NET terminal applications” because these versions of .NET support only features associated with terminal-style applications (not Windows-specific features). Terminal applications can run on Windows and Linux.
See Application page of Visual Studio project properties (Synergy .NET) for information on the “Target framework” setting, and note that in addition to the differences listed below, Linux applications require different paths than Windows. If you develop for .NET on Linux, you will need to replace Windows paths with Unix-compatible paths, use logicals for path management, or use .NET tools for system-agnostic paths (e.g., Path.DirectorySeparatorChar).
Statements
The following are not supported:
RECV
SEND
Subroutines and functions
For .NET terminal applications that use Synergy windowing API routines or UI Toolkit,
- the only value supported for the setting_flag argument for STTY is 1.
- TTFLGS is supported only on Linux.
For ACCHR, there is some support for .NET terminal applications.
APIs
The xfNetLink Synergy API is supported via the Synergex.SynergyDE.xfnetlink NuGet package.
The Synergy XML API is supported via the Synergex.SynergyDE.synxml NuGet package.
The Unix-compatible (non-mouse) functionality of the Synergy windowing API for traditional Synergy is supported for SDK-style projects. Note that with Windows-specific versions of .NET (i.e., not .NET terminal applications), you can set the SYN_RESIZE_SCALE environment variable to 1 to make the application window resizable and maximizable, and note the following differences for Linux:
- For W_AREA(WA_COLOR), W_BRDR(WB_COLOR), W_DISP(WD_COLOR), and W_PROC(WP_PALET) support on Linux, the WNDC environment variable must be set in the environment.
- %W_INFO(WIF_TTSTS) is supported only for .NET, but does not work with .NET terminal applications.
Synergy/DE products
The Repository subroutine library is available via the Synergex.SynergyDE.ddlib NuGet package and may work for some SDK-style projects.
A limited version of UI Toolkit is available via the Synergex.SynergyDE.tklib NuGet package, but it is unsupported and may behave differently with SDK-style projects. See Synergy/DE products and Using UI Toolkit with .NET for more information.
xfODBC and SQL Connection are supported, but Synergy/DE (with Connectivity Series) or xfODBC Client must be installed, and CONNECTDIR must be set in PATH. These products cannot be used in a packaged .NET application.