Synergy .NET Basics

This topic includes the following sections:

 

.NET applications are made up of assemblies: executable assemblies (.exe) and class library assemblies (.dll). Synergy .NET enables you to create .NET executables and libraries for the following desktop/server platforms:

It also enables you to create executables and libraries for the following device platforms:

On Windows platforms, assemblies are interpreted and managed by the Microsoft .NET common language runtime (CLR). On Android, iOS, and Linux, assemblies are managed and interpreted by the Mono CLR.

1. You can develop Synergy applications for a number of .NET platforms.

You can develop Synergy applications for a number of .NET platforms

With the exception of portable class libraries (PCLs), every Synergy .NET assembly targets only one platform. (For information on PCLs, which can target multiple platforms, see Using portable class libraries and targeting multiple platforms.)

There are a number of advantages to developing with Synergy .NET. In addition to support for device platforms and the benefits of managed code and the Visual Studio IDE, Synergy .NET assemblies can use .NET Framework classes, and they can interoperate with assemblies written in other .NET languages, such as C# or VB.NET.

To develop Synergy .NET assemblies, you’ll use

For Android and iOS development you’ll also use Xamarin within the Visual Studio environment, and for iOS you’ll also use Xcode.

Synergy .NET components

Synergy .NET is not a Synergy/DE product. Rather, it is a term for the use of Synergy DBL with .NET. The primary Synergy/DE components used for Synergy .NET development are the Synergy .NET libraries and Synergy DBL Integration for Visual Studio.

Synergy .NET libraries

Even though Synergy .NET assemblies run under a common language runtime (rather than the Synergy Runtime), some Synergy-specific runtime functionality is required. This is supplied by runtime libraries, which are included in Synergy/DE and in the Synergex.SynergyDE.synrnt NuGet package (which is for device applications). See Synergy runtime libraries for more information.

There are also libraries that enable you to use the XML API and the Repository subroutine library. See XML API and Repository subroutine libraries.

Synergy DBL Integration for Visual Studio

Synergy DBL Integration for Visual Studio (SDI) is a Synergy/DE product that enables you to use Visual Studio to develop Synergy applications and libraries. For Synergy .NET development, it includes the Synergy .NET compiler, which is invoked by Visual Studio build features (MSBuild), and it integrates with Xamarin tools for Android and iOS support. It enables you to use Visual Studio features (such as IntelliSense, colorization, and regions) as you develop Synergy applications, and it hooks into and provides project wizards and designers. It also enables you to use the Visual Studio debugger to debug your Synergy .NET code for Windows applications, and it enables you to use the Xamarin debugger (which runs in Visual Studio) for Android and iOS development. (Debugging is not currently supported for Linux.) If a Synergy .NET assembly interoperates with code from other languages, you can step seamlessly from one language to another.

See SDI Basics for more information on SDI, and see http://www.synergex.com/synergy_net.aspx for information on system requirements.

For more information…

For help with using Visual Studio to develop Synergy applications, see Getting help for Synergy in Visual Studio. For help with Xamarin, see Xamarin documentation.

Other options for .NET

Synergy .NET is the primary solution for Microsoft .NET Framework on Windows, and it makes UWP and Mono development possible. But there are other Synergy/DE options for .NET development for desktop and server applications on Windows:

Compile-time defines

The following compile-time defines enable you to conditionally compile code for .NET:

For more information, see Built‑in compiler definitions.

Using environment variables with Synergy .NET

Environment variables can be used for Synergy .NET development (e.g., for build-time settings) and runtime settings for Synergy .NET desktop/server applications on Windows. See Environment variables and Visual Studio development for information.

Using Synergy/DE repositories

To use a Synergy/DE repository with a Synergy .NET project, you can either create a repository project and then reference that project or use RPSMFIL and RPSTFIL (or RPSDAT) to specify the location of repository files. See Using Synergy/DE repositories in Visual Studio for more information.

XML API and Repository subroutine libraries

Synergy/DE includes libraries for the XML API and the Repository subroutine library (the DD_ routines). These are not supported for device platforms.