Configurations, platforms, and profiles

This topic includes the following sections:


A Visual Studio project or solution can be built for different platforms, different purposes (e.g., debug or release), and different versions of Synergy.

1. One solution or project can be built in multiple configurations for multiple platforms.

A solution can be built for different platforms, different versions, and different versions of Synergy

Visual Studio configurations, platforms, and profiles make this possible. Solution configurations and platforms identify collections of settings for solution builds. Project configurations and platforms identify collections of build and debug settings for projects, with one exception: profiles are used to identify collections of debug settings for .NET Core and .NET Standard projects. Configurations, platforms, and profiles are merely labels—for example, you could create one called fredconfig, fredplatform, or fredprofile.

The active configuration/platform can be set on the Visual Studio toolbar or in Configuration Manager (as discussed in Creating and managing configurations, platforms, and profiles below).

The example illustrated in figure 2 shows how a release build for 32-bit Windows and Synergy/DE 10.3.1a results from a solution configuration/platform combination, which in turn specifies project configuration/platform settings for each project in the solution.

2. A solution configuration/platform specifies project configuration/platform settings.

A build is based on configuration and platform settings


You can also use solution configuration/platform settings to reduce build time when developing large solutions by excluding projects that don't need to be built. See the Synergex YouTube video Creating a New Build Configuration for more information.

For information on how configurations and platforms effect output folders for builds, see Output folders.

Configurations and platforms included with SDI

SDI includes the project and solution configurations and platforms described below. You can change the settings that these platforms and configurations represent (see Creating and managing configurations, platforms, and profiles below), but we don't recommend changing their purpose (i.e., their characteristic settings). For example, don't change the Debug/x86 combination so that it creates release builds or targets Linux or 64-bit Windows.

SDI includes two configurations for projects:

SDI includes different project platforms for traditional Synergy and Synergy .NET:

SDI also includes a set of solution configurations and platforms with names that match the project configurations and platforms included with SDI. The solution configurations are Debug and Release. The solution platforms are Any CPU for Synergy .NET, and x86 and x64 for traditional Synergy. (.NET Core and .NET Standard also have x86.) By default, each configuration/platform combination represents a collection of project configuration/platform settings of the same name. For example, the solution-level Debug/x86 combination includes project-level Debug/x86 settings for all projects in the solution.

Creating and managing configurations, platforms, and profiles

You can create configurations and platforms for solutions and projects, you can create profiles for .NET Core and .NET Standard projects, and you can change the settings for configuration/platform combinations and profiles. The following outlines basic procedures (see Visual Studio documentation for details).

Use Visual Studio’s Configuration Manager (Build > Configuration Manager) to create solution configurations and platforms, and to configure settings for solution configuration/platform combinations. You can also use Configuration Manager (or the configuration and platform fields on the Visual Studio toolbar) to set the active configuration/platform combination, which is the one used for builds and debugging. Use the Debug page of project properties to create, delete, and change settings for profiles.

The New Solution Configuration or New Solution Platform window will open.

The Configuration Manager is also used to create project configurations and platforms. However, the settings that a project configuration/platform combination represents are set on the Build page and the Debug page of project properties.

Adding a Linux or OpenVMS platform for traditional Synergy

If you have an existing project you want to port to Linux or OpenVMS, you can use the Visual Studio Configuration Manager to create a configuration that targets Linux or OpenVMS. SDI includes three platform options (linux32, linux64, and vms) that enable you to create platform settings for porting projects to 32-bit Linux, 64-bit Linux, or OpenVMS.

1. Open Configuration Manager (e.g., select Build > Configuration Manager from the Visual Studio menu) and select New from the “Active solution platform” drop-down list.
2. In the New Solution Platform window, select linux32, linux64, or vms in the "Type or select the new platform" field, and select x64 or x86 for the "Copy settings from" option (see figure 3).

3. Selecting a platform for a new configuration.

Selecting a platform for a new configuration

3. Make sure the “Create new project platforms” option is selected, and click OK.
4. In the main Configuration Manager window, select the solution configuration you want to use (and make sure the new platform is selected). Then in the “Project contexts…” table, select the new platform for each project in your solution (see figure 4).

4. Selecting the new configuration for a project.

Selecting the new configuration for a project

You can now select the new solution platform when you build the solution and when you set options in project properties (e.g., on the Build page).