Click or drag to resize

NetEti.ApplicationEnvironment namespace

Determination of environmental parameters of the application
Classes
 ClassDescription of the
Public ClassAppEnvReader Manages a list of IGetStringValue objects and queries them. in order to return the first valid result itself as IGetStringValue to be returned to the caller.
For values that are wildcards of the form '%Name%' a recursive replacement takes place (only for GetStringValue(...)).
Manages an additional list that is filled with key-value pairs from the outside. This list is also taken into account in the search.
Public ClassAppSettingsRegistry Creates a common static ConcurrentDictionary for several AppEnvReader instances. which can be used to manage a shared parameter list.
Public ClassBasicAppSettings Retrieves application settings from various sources: Command line, app.config, if necessary app.config.user, Environment.
Also implements registry reading, but does not yet use this itself. Under certain circumstances, also evaluates public properties (DumpAppSettings=true). Does not access the database, but provides corresponding properties.
The properties and the filling of the same are not mandatory, they serve for convenience only; alternatively, it can also be accessed directly from the application via the interfaces IGetStringValue and IGetValue<T> can be used to access the application/system environment.
The application settings implemented here should be generally valid for standalone applications; for application-specific settings, this class should be can be derived. Sources are analysed in the following order (the 1st hit wins):
1. command line parameters (not for .NetCore web applications)
2. settings in the app.config (not for .NetCore web applications, then appsettings.json instead)
3. settings in the app.Config.user if necessary
4. environment
5th registry
6. possibly public properties (DumpAppSettings=true).
Time-critical Initializations should generally be avoided in derived AppSettings. However, the corresponding properties can be defined and implemented lazily if necessary.
The "DumpAppSettings" and "DumpLoadedAssemblies" properties can be used to debug all properties with their sources and the FullNames of all assemblies loaded at runtime are logged.
Public ClassClickOnceDeploymentException Special exception type for ClickOnce exceptions.
Public ClassClickOnceInfo This is a partial replacement for ApplicationDeployment which is not available in .NET 6 We use a custom Launcher.exe which will set various "CLICKONCE_*" local environment variables Thanks to Simon Hewitt (simmotech) for this helpful workaround. https://github.com/simmotech/Net6ClickOnce Important: This only works if the app is installed via the modified "launcher.exe". is started from the project ...Net6ClickOnce-master\ClickOnceLauncher. Otherwise, the additional environment variables are not set and Defauts are returned.
Public ClassClickOnceUpdateInfo Class with ClickOnce update information.
Public ClassCommandLineAccess Access to command line parameters
Implements IGetStringValue. Minimal functionality:
If the transferred key exists in the command line, this is returned unchanged, otherwise the Default Value. If the transferred key is numeric, an attempt is made to recognise it with to access it as an index in the command line parameters; If successful, the corresponding value is returned, otherwise the default value.
Public ClassEnvAccess Access to the environment and to some application properties.
Implements IGetStringValue.
Public ClassPropertyAccess Access to properties of the current application (AppSettings).
Uses System.Reflection, implements IGetStringValue.
Public ClassRegAccess Reads values from the registry.
Public ClassSettingsAccess Access to the AppSettings managed via the .Net framework
Implements IGetStringValue.
Enumerations
 EnumerationDescription of the
Public EnumerationRegistryRoot Enumeration of the registry root keys.