Open topic with navigation
Use the Compile page of the Visual Studio Project Designer to specify compile settings for a Synergy .NET project.
To access this page, select a project node in Solution Explorer, and then select Project > Properties. In Project Designer, select the Compile tab.
This non-editable area of the page displays Synergy .NET compiler options that correspond to settings selected on this page.
Use alternate form of IF
Select this option to use the alternate, non-ANS DIBOL form of the IF statement, which specifies that the THEN is optional and the ELSE belongs to the last IF statement. (The ANS DIBOL form of the IF statement specifies that each ELSE belongs to the most recent THEN in the same lexical level.) For more information, see IF‑THEN‑ELSE.
Enable device licensing (requires SynergyDeviceLicenseAttibute attribute in code)
Set this to enforce licensing from the device license service instead of the local license server. For information on device licensing, see Device licensing (.NET).
Generate code compatible with the Mono runtime
Set this to instruct the compiler to generate errors for code that is not compatible with Mono (e.g., calls to Toolkit routines, low-level windowing routines, and the Windows printing API).
Generate errors for all compiler warnings
Select this to change compiler warnings into errors.
Generate warnings instead of errors for duplicate structures and enumerations
Set this to instruct the compiler to generate a level 3 warning if the name of a global structure, common, data section, or enumeration is used in more than one assembly, which could lead to ambiguity in Interop projects.
Allow passing a non-CLS structure to a non-CLS structure parameter with the same size
Allow passing a non-CLS structure (without objects) to a parameter whose type is another non-CLS structure of the same size, but not the same name.
Set the warning level
Select this option and select one of the following to control warnings:
|0||Don't generate any warning messages.|
|1||Display severe warnings.|
|2||Display level 1 warnings plus certain less severe warnings, such as warnings about hiding class members.|
|3||Display level 2 warnings plus certain less severe warnings, such as warnings about expressions that always evaluate to true or false. (default)|
|4||Display all level 3 warnings plus informational warnings.|
If the Set the warning level check box is cleared, the default (3) is used.
Compiler warning levels are specified on the page for each individual error.
Default behavior of unqualified record statements
Use this to set the default for unqualified RECORD statements (i.e., RECORD statements that don't specify STACK, STATIC, LOCAL, CONST, or READONLY). See RECORD‑ENDRECORD for more information.
|Stack||Makes the contents of a record unique for each activation of the routine.|
|Static||Makes the contents of a record persist throughout the life of the program.|
|Local||Makes the contents of a record persist throughout the life of the program.|
Define alternate compile-time ^VARIANT
To define the ^VARIANT data reference operation, select this option and enter a value in the field. The default value is 0.
Stack size (in bytes)
Use this to set the stack size in bytes for an application. This is available for executable assemblies (e.g., when Output type on the Application page of Project Designer is set to Console Application or Windows Application).
Generate warning when stack size exceeds # bytes
Use this to specify the maximum size (in bytes) for total stack data used by a routine. If this size is exceeded, the compiler will generate a warning. The default is 65536 bytes.
Disable specified warnings
To disable warnings, select this option and specify the error numbers for warnings you want to disable. To specify multiple error numbers, separate numbers with commas.
Convert specified warnings to errors
To have the compiler report some warnings as errors, select this option and specify the numbers for the warnings in this field. To specify multiple warnings, separate numbers with commas. Note that warnings specified in the Disable specified warnings field will not be reported as errors or warnings.
Set compile-time defines
To define one or more identifiers and assign a replacement value to each, use the following syntax in this field:
Replacement can be a number or a quoted string. And you can specify multiple identifier=replacement pairs by separating them with commas:
Quotation marks that are to be part of replacement must be escaped by prefixing them with the backslash character. For example:
Note that this is similar to using .DEFINE in code, but settings here apply to the entire compilation unit (not just a routine).
Enter additional compiler options you want set. See Synergy .NET compiler options for information on options you can specify in this field. If you specify more than one option in this field, separate options with a space.