This page lists system requirements for installing Synergy DBL Integration for Visual Studio (SDI), and it lists changes you may need to make when upgrading to the latest version of SDI.
The installation file for SDI is available from the Downloads area of the Synergex Resource Center. We recommend installing the latest version of SDI and Synergy/DE. The latest version of SDI is the only supported version of SDI, and the latest version of Synergy/DE provides the best development experience.
The following are required and must be installed on a 64-bit Windows machine before SDI is installed on that machine. SDI can be installed only on 64-bit systems.
Additionally, note the following:
We recommend installing the latest version Synergy/DE along with the latest version of SDI on development machines.
|When upgrading SDI from…||Former usage||Change for current version of SDI||Explanation/comments|
|a version earlier than 2022.02.1048||If you have Repository projects with project references or service references…||Remove any existing references in Repository projects.||We no longer support adding project references or service references for Repository projects. These options have been disabled. [tr#37607]|
|a version earlier than 2022.03.1110||If you have Synergy projects that target .NET Framework and that target a runtime version prior to 10.3.1b…||If you want any of these projects to target a version other than the minimum (10.3.1b), specify that version on the Build page of project properties.||The minimum Synergy/DE runtime target for .NET Framework projects is now 10.3.1b. Existing .NET Framework projects that target a runtime version prior to this version will automatically be set to target this version when they are opened in Visual Studio. If you want an existing project to target a different version of the runtime, specify that version on the Build page of project properties. [tr#39699]|
|a version earlier than 2021.12.3567||If you have .NET Interop projects that use the Equals operator to compare two objects containing groups…||Update the code to account for the fact that the Equals method on the groups themselves will now be called. (In versions prior to 2021.12.3567, the “!=” operator was used in this situation.)||This change is due to a fix for .NET in 2021.12.3567: using the Equals method to compare two objects containing groups will now call the Equals methods on the groups themselves, instead of using the “!=” operator. This change may break your existing code if you were relying on the older, incorrect behavior. [tr#39518]|
|a version earlier than 2022.01.1003||If you have assemblies that use boxed descriptor types and were compiled using -qrntcompat 11010104 or greater…||Recompile all assemblies that use boxed descriptor types and were compiled using -qrntcompat 11010104 or greater.||This change is due to a fix for the issue that caused an ^AS of a boxed descriptor to always return non-null for -qrntcompat values of 11010104 or greater. [tr#39627]
IMPORTANT: HarmonyCore users who are using recent HarmonyCore versions with the 22.1.1003 Synergex.SynergyDE.Build NuGet package may be affected. Make sure you update your HarmonyCore NuGet packages at the same time as the Synergex.SynergyDE.Build package.
|a version earlier than 11.1.1||If you have a Synergy Portable Class Library (PCL) project…||Replace it with a Synergy .NET Standard project:
||We removed the Portable Class Library (PCL) template from SDI because Microsoft deprecated this project type. Existing projects will continue to work, but you will not be able to create new ones. A .NET Standard project offers more functionality. [tr#38177]|
|a version earlier than 10.3.3d||If you have an application with subroutines and functions that have been added only to a default namespace…||Correct your code by adding a single class to the namespace or by removing the IMPORT statement. Then regenerate all .dbp files.||Subroutines and functions in traditional Synergy are now automatically added to the global namespace. As a result, the SYNDEFNS environment variable is no longer used to set a default namespace, and its value must now be a semicolon-delimited list of namespaces to implicitly import. This change may break compiles for traditional Synergy programs and libraries. [tr#37211]|
|a version earlier than 10.3.1||If you have projects with classes that are partially compiled…||After upgrading, fully compile all classes.||We made a number of improvements to the way structures and records are aligned. This change may break your code if you have classes that are partially compiled. [tr#35442]|
|a version earlier than 10.1.1d||If you use the “Generate Synergy Interop Code” menu entry (under Tools)…||Don’t. Just build the project instead.||This menu option has been removed because code generation is now integrated with the build. [tr#34927]|
|a version earlier than 10.1.1c||If you have Interop projects…||
||You must update SynergyRoutines.dbl from a newly created project (as described) or Interop projects will fail to build. This is due to a number of improvements we made for Synergy Interop projects, including improvements in performance and the way code is Generated. [tr#34816]|
|a version earlier than 10.1.1c||If you have a project with a reference to an enum type on the Settings page of project properties…||Regenerate Settings.designer.dbl by changing any value on the Settings page and saving the file. This will cause Visual Studio to regenerate the code-behind file.||We fixed an issue that caused references to enum types on the Settings page to be generated as boxed references, which could result in runtime errors. [tr#34955]|