Table of Contents

Class DassieConfig

Namespace
Dassie.Configuration
Assembly
dc.dll

Represents the top-level configuration object of the Dassie project configuration system.

[Serializable]
public class DassieConfig : ConfigObject
Inheritance
DassieConfig
Inherited Members
Extension Methods

Constructors

DassieConfig()

Initializes a new instance of the DassieConfig type.

public DassieConfig()

DassieConfig(PropertyStore)

Initializes a new instance of the DassieConfig type.

public DassieConfig(PropertyStore store)

Parameters

store PropertyStore

The PropertyStore backing the configuration.

Fields

CurrentFormatVersion

The current version of the configuration format.

public static readonly string CurrentFormatVersion

Field Value

string

Properties

AdvancedErrorMessages

If set, includes a preview of the error location in all error messages.

[Description("If set, includes a preview of the error location in all error messages.")]
public bool AdvancedErrorMessages { get; set; }

Property Value

bool

ApplicationType

Sets the application type and subsystem of the program.

[Description("Sets the application type and subsystem of the program.")]
public string ApplicationType { get; set; }

Property Value

string

AssemblyFileName

Sets the name of the ouput assembly (without file extension).

[Description("Sets the name of the ouput assembly (without file extension).")]
public string AssemblyFileName { get; set; }

Property Value

string

AssemblyManifest

The path to a .manifest file containing Windows-specific configuration.

[Description("The path to a .manifest file containing Windows-specific configuration.")]
public string AssemblyManifest { get; set; }

Property Value

string

Base

Loads the specified configuration file and applies its settings.

[Description("Loads the specified configuration file and applies its settings.")]
public string Base { get; set; }

Property Value

string

BuildDirectory

Sets the directory where the compiled assemblies will be placed.

[Description("Sets the directory where the compiled assemblies will be placed.")]
public string BuildDirectory { get; set; }

Property Value

string

BuildLogDevices

A list of log devices to write build messages to.

[Description("A list of log devices to write build messages to.")]
public BuildLogOptions BuildLogDevices { get; set; }

Property Value

BuildLogOptions

BuildProfiles

Sets and manages build profiles.

[Description("Sets and manages build profiles.")]
public BuildProfile[] BuildProfiles { get; set; }

Property Value

BuildProfile[]

CacheSourceFiles

If set, caches source files for limited incremental compilation capabilities.

[Description("If set, caches source files for limited incremental compilation capabilities.")]
public bool CacheSourceFiles { get; set; }

Property Value

bool

CodeAnalysisConfiguration

Used to configure the default code analyzer.

[Description("Used to configure the default code analyzer.")]
public CodeAnalysisConfiguration CodeAnalysisConfiguration { get; set; }

Property Value

CodeAnalysisConfiguration

Configuration

Sets the configuration of the generated assembly. Valid values are 'Debug' and 'Release'.

[Description("Sets the configuration of the generated assembly. Valid values are 'Debug' and 'Release'.")]
public ApplicationConfiguration Configuration { get; set; }

Property Value

ApplicationConfiguration

DebugProfiles

Sets and manages debug profiles.

[Description("Sets and manages debug profiles.")]
public DebugProfile[] DebugProfiles { get; set; }

Property Value

DebugProfile[]

Default

Creates an instance of DassieConfig with default values.

public static DassieConfig Default { get; }

Property Value

DassieConfig

DocumentSources

Configures the active document sources provided by compiler extensions.

[Description("Configures the active document sources provided by compiler extensions.")]
public DocumentSourceList DocumentSources { get; set; }

Property Value

DocumentSourceList

EmitPdb

Toggles the generation of debug symbol data.

[Description("Toggles the generation of debug symbol data.")]
public bool EmitPdb { get; set; }

Property Value

bool

EnableMessageTimestamps

If set, prepends a time stamp to all compiler messages.

[Description("If set, prepends a time stamp to all compiler messages.")]
public bool EnableMessageTimestamps { get; set; }

Property Value

bool

EnableOverflowChecks

If set, arithmetic operations check for overflow and throw an appropriate exception at runtime.

[Description("If set, arithmetic operations check for overflow and throw an appropriate exception at runtime.")]
public bool EnableOverflowChecks { get; set; }

Property Value

bool

EnableSeverityIndicators

If enabled, compiler messages will display an icon to distinguish them by severity.

[Description("If enabled, compiler messages will display an icon to distinguish them by severity.")]
public bool EnableSeverityIndicators { get; set; }

Property Value

bool

EnableTips

Toggles further information on some error messages.

[Description("Toggles further information on some error messages.")]
public bool EnableTips { get; set; }

Property Value

bool

EntryPoint

Sets the function or method that functions as the application entry point.

[Description("Sets the function or method that functions as the application entry point.")]
public string EntryPoint { get; set; }

Property Value

string

ErrorColor

The color used for error messages (#RRGGBB).

[Description("The color used for error messages (#RRGGBB).")]
public string ErrorColor { get; set; }

Property Value

string

Extensions

Configures compiler extensions enabled only during the compilation.

[Description("Configures compiler extensions enabled only during the compilation.")]
public List<Extension> Extensions { get; set; }

Property Value

List<Extension>

FormatVersion

Specifies the version of the configuration format to use.

[Description("Specifies the version of the configuration format to use.")]
public string FormatVersion { get; set; }

Property Value

string

GenerateILFiles

If set, generates CIL files in human-readable form.

[Description("If set, generates CIL files in human-readable form.")]
public bool GenerateILFiles { get; set; }

Property Value

bool

GenerateNativeAppHost

If set, generates native executables along with .NET assemblies.

[Description("If set, generates native executables along with .NET assemblies.")]
public bool GenerateNativeAppHost { get; set; }

Property Value

bool

ILOptimizations

Toggles optimizations applied to the generated IL.

[Description("Toggles optimizations applied to the generated IL.")]
public bool ILOptimizations { get; set; }

Property Value

bool

IconFile

Sets the application icon file.

[Description("Sets the application icon file.")]
public string IconFile { get; set; }

Property Value

string

IgnoreAllMessages

If set, all 'information' messages are ignored.

[Description("If set, all 'information' messages are ignored.")]
public bool IgnoreAllMessages { get; set; }

Property Value

bool

IgnoreAllWarnings

If set, all 'warning' messages are ignored.

[Description("If set, all 'warning' messages are ignored.")]
public bool IgnoreAllWarnings { get; set; }

Property Value

bool

IgnoredMessages

A list of error codes that are ignored and will never be emitted.

[Description("A list of error codes that are ignored and will never be emitted.")]
public Ignore[] IgnoredMessages { get; set; }

Property Value

Ignore[]

ImplicitImports

If set, implicitly imports parts of the standard library in every source file.

[Description("If set, implicitly imports parts of the standard library in every source file.")]
public bool ImplicitImports { get; set; }

Property Value

bool

ImplicitTypeAliases

If set, allows the use of type aliases such as 'int' for 'System.Int32'.

[Description("If set, allows the use of type aliases such as 'int' for 'System.Int32'.")]
public bool ImplicitTypeAliases { get; set; }

Property Value

bool

Imports

A list of configuration files to import macros from.

[Description("A list of configuration files to import macros from.")]
public Import[] Imports { get; set; }

Property Value

Import[]

IncludeDependencies

If set, all referenced assemblies are copied to the build output directory.

[Description("If set, all referenced assemblies are copied to the build output directory.")]
public bool IncludeDependencies { get; set; }

Property Value

bool

IsDefinitionFile

Specifies wheter or not this configuration file is an SDK definition file.

[Description("Specifies wheter or not this configuration file is an SDK definition file.")]
public bool IsDefinitionFile { get; set; }

Property Value

bool

this[string]

Gets or sets the value of the specified property.

public object this[string key] { get; set; }

Parameters

key string

The name of the property to operate on.

Property Value

object

The value of the specified property.

KeepIntermediateFiles

If set, does not delete intermediate source files.

[Description("If set, does not delete intermediate source files.")]
public bool KeepIntermediateFiles { get; set; }

Property Value

bool

MacroDefinitions

Specifies custom macro definitions.

[Description("Sets custom macro definitions.")]
public Define[] MacroDefinitions { get; set; }

Property Value

Define[]

MaxErrors

Once this number of compilation errors is reached, the build process is terminated immediately.

[Description("Once this number of compilation errors is reached, the build process is terminated immediately.")]
public int MaxErrors { get; set; }

Property Value

int

MeasureElapsedTime

If set, displays the elapsed time after the completion of a build.

[Description("If set, displays the elapsed time after the completion of a build.")]
public bool MeasureElapsedTime { get; set; }

Property Value

bool

MessageColor

The color used for information messages (#RRGGBB).

[Description("The color used for information messages (#RRGGBB).")]
public string MessageColor { get; set; }

Property Value

string

NoStdLib

If enabled, the Dassie standard library (Dassie.Core.dll) is not implicitly referenced.

[Description("If enabled, the Dassie standard library (Dassie.Core.dll) is not implicitly referenced.")]
public bool NoStdLib { get; set; }

Property Value

bool

PersistentResourceFile

If set, does not delete the generated native '.res' file after the build is completed.

[Description("If set, does not delete the generated native '.res' file after the build is completed.")]
public bool PersistentResourceFile { get; set; }

Property Value

bool

PersistentResourceScript

If set, does not delete the generated '.rc' file after the build is completed.

[Description("If set, does not delete the generated '.rc' file after the build is completed.")]
public bool PersistentResourceScript { get; set; }

Property Value

bool

Platform

Sets the processor architecture of the application.

[Description("Sets the processor architecture of the application.")]
public Platform Platform { get; set; }

Property Value

Platform

PrintExceptionInfo

If set, prints the full exception message and stack trace if an exception occurs during compilation.

[Description("If set, prints the full exception message and stack trace if an exception occurs during compilation.")]
public bool PrintExceptionInfo { get; set; }

Property Value

bool

ProjectGroup

Specifies that the config file defines a project group and sets project group-specific options.

[Description("Specifies that the config file defines a project group and sets project group-specific options.")]
public ProjectGroup ProjectGroup { get; set; }

Property Value

ProjectGroup

References

Manages references to external assemblies.

[Description("Manages references to external assemblies.")]
public Reference[] References { get; set; }

Property Value

Reference[]

Resources

Manages references to external resources.

[Description("Manages references to external resources.")]
public Resource[] Resources { get; set; }

Property Value

Resource[]

RootNamespace

Used by editors to set the default namespace of source files.

[Description("Used by editors to set the default namespace of source files.")]
public string RootNamespace { get; set; }

Property Value

string

RunAnalyzers

If enabled, runs code analyzers before compilation.

[Description("If enabled, runs code analyzers before compilation.")]
public bool RunAnalyzers { get; set; }

Property Value

bool

Runtime

Sets the runtime of the application. Valid values are 'Jit' and 'Aot'.

[Description("Sets the runtime of the application. Valid values are 'Jit' and 'Aot'.")]
public Runtime Runtime { get; set; }

Property Value

Runtime

RuntimeIdentifier

Sets the RID of the application to be used by the AOT compiler.

[Description("Sets the RID of the application to be used by the AOT compiler.")]
public string RuntimeIdentifier { get; set; }

Property Value

string

SdkName

Specifies the SDK identifier of this configuration.

[Description("Specifies the SDK identifier of this configuration.")]
public string SdkName { get; set; }

Property Value

string

TreatWarningsAsErrors

If set, all 'warning' messages will be treated as errors.

[Description("If set, all 'warning' messages will be treated as errors.")]
public bool TreatWarningsAsErrors { get; set; }

Property Value

bool

Verbosity

Sets the verbosity of compiler messages. Valid values are 0-3 (both inclusive).

[Description("Sets the verbosity of compiler messages. Valid values are 0-3 (both inclusive).")]
public int Verbosity { get; set; }

Property Value

int

VersionInfo

Sets version information fields for the application.

[Description("Sets version information fields for the application.")]
public List<VersionInfo> VersionInfo { get; set; }

Property Value

List<VersionInfo>

WarningColor

The color used for warning messages (#RRGGBB).

[Description("The color used for warning messages (#RRGGBB).")]
public string WarningColor { get; set; }

Property Value

string

Methods

GetProperty<T>(string)

Retrieves the value of the specified property.

public T GetProperty<T>(string name)

Parameters

name string

The name of the property to evaluate.

Returns

T

The value of the specified property.

Type Parameters

T

The type of the property to evaluate.

SetProperty<T>(string, T)

Sets the specified property.

public void SetProperty<T>(string name, T value)

Parameters

name string

The name of the property to set.

value T

The new value of the property.

Type Parameters

T

The type of the new value of the property.