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
storePropertyStoreThe PropertyStore backing the configuration.
Fields
CurrentFormatVersion
The current version of the configuration format.
public static readonly string CurrentFormatVersion
Field Value
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
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
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
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
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
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
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
BuildProfiles
Sets and manages build profiles.
[Description("Sets and manages build profiles.")]
public BuildProfile[] BuildProfiles { get; set; }
Property Value
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
CodeAnalysisConfiguration
Used to configure the default code analyzer.
[Description("Used to configure the default code analyzer.")]
public CodeAnalysisConfiguration CodeAnalysisConfiguration { get; set; }
Property Value
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
DebugProfiles
Sets and manages debug profiles.
[Description("Sets and manages debug profiles.")]
public DebugProfile[] DebugProfiles { get; set; }
Property Value
Default
Creates an instance of DassieConfig with default values.
public static DassieConfig Default { get; }
Property Value
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
EmitPdb
Toggles the generation of debug symbol data.
[Description("Toggles the generation of debug symbol data.")]
public bool EmitPdb { get; set; }
Property Value
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
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
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
EnableTips
Toggles further information on some error messages.
[Description("Toggles further information on some error messages.")]
public bool EnableTips { get; set; }
Property Value
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
ErrorColor
The color used for error messages (#RRGGBB).
[Description("The color used for error messages (#RRGGBB).")]
public string ErrorColor { get; set; }
Property Value
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
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
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
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
ILOptimizations
Toggles optimizations applied to the generated IL.
[Description("Toggles optimizations applied to the generated IL.")]
public bool ILOptimizations { get; set; }
Property Value
IconFile
Sets the application icon file.
[Description("Sets the application icon file.")]
public string IconFile { get; set; }
Property Value
IgnoreAllMessages
If set, all 'information' messages are ignored.
[Description("If set, all 'information' messages are ignored.")]
public bool IgnoreAllMessages { get; set; }
Property Value
IgnoreAllWarnings
If set, all 'warning' messages are ignored.
[Description("If set, all 'warning' messages are ignored.")]
public bool IgnoreAllWarnings { get; set; }
Property Value
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
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
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
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
this[string]
Gets or sets the value of the specified property.
public object this[string key] { get; set; }
Parameters
keystringThe 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
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
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
MessageColor
The color used for information messages (#RRGGBB).
[Description("The color used for information messages (#RRGGBB).")]
public string MessageColor { get; set; }
Property Value
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
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
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
Platform
Sets the processor architecture of the application.
[Description("Sets the processor architecture of the application.")]
public Platform Platform { get; set; }
Property Value
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
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
References
Manages references to external assemblies.
[Description("Manages references to external assemblies.")]
public Reference[] References { get; set; }
Property Value
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
RunAnalyzers
If enabled, runs code analyzers before compilation.
[Description("If enabled, runs code analyzers before compilation.")]
public bool RunAnalyzers { get; set; }
Property Value
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
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
SdkName
Specifies the SDK identifier of this configuration.
[Description("Specifies the SDK identifier of this configuration.")]
public string SdkName { get; set; }
Property Value
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
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
VersionInfo
Sets version information fields for the application.
[Description("Sets version information fields for the application.")]
public List<VersionInfo> VersionInfo { get; set; }
Property Value
WarningColor
The color used for warning messages (#RRGGBB).
[Description("The color used for warning messages (#RRGGBB).")]
public string WarningColor { get; set; }
Property Value
Methods
GetProperty<T>(string)
Retrieves the value of the specified property.
public T GetProperty<T>(string name)
Parameters
namestringThe name of the property to evaluate.
Returns
- T
The value of the specified property.
Type Parameters
TThe type of the property to evaluate.
SetProperty<T>(string, T)
Sets the specified property.
public void SetProperty<T>(string name, T value)
Parameters
namestringThe name of the property to set.
valueTThe new value of the property.
Type Parameters
TThe type of the new value of the property.