4.4 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||
|---|---|---|---|---|---|---|---|
|
2026-04-16T11:27:08.948966+00:00 | zai-org/GLM-5-FP8 | 1 | c2c4643ad51e5dc7 |
Documentation: DTS.Viewer.Loader Properties
1. Purpose
This module provides configuration and resource infrastructure for the DTS.Viewer.Loader assembly, a component developed by Diversified Technical Systems, Inc. The module exists to manage application-level settings—specifically the path to a plugin/modules folder—and to provide strongly-typed resource access for localization. It serves as the configuration layer for a plugin loading mechanism within the larger DTS Viewer application system.
2. Public Interface
Settings class (partial, sealed)
Namespace: DTS.Viewer.Loader.Properties
Base class: global::System.Configuration.ApplicationSettingsBase
| Member | Signature | Description |
|---|---|---|
Default |
public static Settings Default { get; } |
Static property returning the singleton instance of Settings, synchronized for thread safety. |
PluginFolder |
public string PluginFolder { get; } |
Application-scoped setting returning the relative path to the runtime modules directory. Default value: "../../../../RunTimeModules". |
Resources class (internal)
Namespace: DTS.Viewer.Loader.Properties
| Member | Signature | Description |
|---|---|---|
ResourceManager |
internal static global::System.Resources.ResourceManager ResourceManager { get; } |
Returns the cached ResourceManager instance for this assembly's resources. |
Culture |
internal static global::System.Globalization.CultureInfo Culture { get; set; } |
Gets or sets the current thread's CurrentUICulture for resource lookups. |
3. Invariants
- Singleton Pattern: The
Settingsclass maintains exactly one instance viadefaultInstance, created throughApplicationSettingsBase.Synchronized(), ensuring thread-safe access. - Application-Scoped Immutability:
PluginFolderis decorated with[ApplicationScopedSettingAttribute()], meaning it is read-only at runtime and cannot be modified programmatically—only through configuration file changes. - Auto-Generated Code: Both
SettingsandResourcesare designer-generated files; manual modifications will be overwritten upon regeneration. - Internal Visibility: Both
SettingsandResourcesclasses are markedinternal sealed, restricting access to within theDTS.Viewer.Loaderassembly.
4. Dependencies
This module depends on:
System.Configuration.ApplicationSettingsBase— for application settings managementSystem.Resources.ResourceManager— for resource lookupSystem.Globalization.CultureInfo— for culture-specific resource handlingSystem.Reflection— for assembly metadata attributesSystem.Runtime.CompilerServices— for compiler-generated attributesSystem.Runtime.InteropServices— for COM visibility attributesSystem.Windows— for WPFThemeInfoattribute
What depends on this module:
- Unclear from source alone. The
Settings.Default.PluginFolderproperty suggests consumers within theDTS.Viewer.Loaderassembly use this to locate runtime modules/plugins, but the actual loader implementation is not present in these files.
5. Gotchas
-
Relative Path Dependency: The
PluginFoldersetting uses a relative path"../../../../RunTimeModules". This path is relative to the application's working directory at runtime, not the assembly location. The actual resolved path will vary depending on how the application is launched. -
Auto-Generated Files: Both
Settings.Designer.csandResources.Designer.csare tool-generated. Changes must be made through the corresponding.settingsand.resxfiles in Visual Studio, not directly in these source files. -
Empty Resources: The
Resourcesclass infrastructure exists but no actual string resources are defined in the provided source. TheResourceManagerwill look for a resource file named"DTS.Viewer.Loader.Properties.Resources". -
Version Hardcoded: Assembly version is fixed at
1.0.0.0for bothAssemblyVersionandFileVersion. Automatic versioning is commented out in the source.