Update auf .NET 8

This commit is contained in:
Developer01
2025-10-01 15:17:45 +02:00
parent 2332f64748
commit 89b05d5f78
139 changed files with 7729 additions and 59611 deletions

View File

@@ -1,151 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6EA0C51F-C2B1-4462-8198-3DE0B32B74F8}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>DigitalData.Modules.Base</RootNamespace>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>DigitalData.Modules.Base</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>DigitalData.Modules.Base.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>DigitalData.Modules.Base.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
<Company>Digital Data GmbH</Company>
<AssemblyTitle>Provides baseclasses, methods and constants for DD Products</AssemblyTitle>
<AssemblyVersion>1.3.9</AssemblyVersion>
<FileVersion>1.3.9</FileVersion>
<Title>$(AssemblyName)</Title>
<Product>$(AssemblyName)</Product>
</PropertyGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Logging, Version=2.6.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<PackageReference Include="NLog" Version="6.0.4" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.9" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
<ProjectReference Include="..\Logging_.NET8\Logging_.NET8.vbproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="Base\BaseClass.vb" />
<Compile Include="Base\BaseUtils.vb" />
<Compile Include="ECM\ECM.vb" />
<Compile Include="Encryption\Compression.vb" />
<Compile Include="Encryption\Encryption.vb" />
<Compile Include="Encryption\EncryptionLegacy.vb" />
<Compile Include="DatabaseEx.vb" />
<Compile Include="FilesystemEx.vb" />
<Compile Include="FileWatcher\FileWatcher.vb" />
<Compile Include="FileWatcher\FileWatcherFilters.vb" />
<Compile Include="FileWatcher\FileWatcherProperties.vb" />
<Compile Include="IDB\Constants.vb" />
<Compile Include="MimeEx.vb" />
<Compile Include="StringFunctions.vb" />
<Compile Include="WindowsEx.vb" />
<Compile Include="ModuleExtensions.vb" />
<Compile Include="FileEx.vb" />
<Compile Include="NativeMethods.vb" />
<Compile Include="ObjectEx.vb" />
<Compile Include="GraphicsEx.vb" />
<Compile Include="LanguageEx.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="ScreenEx.vb" />
<Compile Include="StringEx.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<None Update="MyProject\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Content Include="README.txt" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>powershell.exe -command "&amp; { &amp;'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }"</PostBuildEvent>
</PropertyGroup>
</Project>
</Project>

View File

@@ -1,4 +1,4 @@
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
''' <summary>
''' BaseClass that sets up a Logger.

View File

@@ -1,4 +1,6 @@
Public Class DatabaseEx
Imports System.Data
Public Class DatabaseEx
''' <summary>
''' TODO: Deprecate
''' Checks a Row value for three different `null` values,

View File

@@ -1,6 +1,6 @@
Imports System.IO
Imports System.IO.Compression
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
Public Class Compression
Private ReadOnly _logger As Logger

View File

@@ -1,7 +1,7 @@
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text.Encoding
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
''' <summary>
''' https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp

View File

@@ -1,6 +1,6 @@
Imports System.IO
Imports DigitalData.Modules.Base.FileWatcherFilters
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
Public Class FileWatcher

View File

@@ -1,4 +1,4 @@
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text

View File

@@ -1,6 +1,6 @@
Imports System.Globalization
Imports System.Threading
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
''' <summary>
''' Functions relating to i18n, Cultures, Translations

View File

@@ -1,4 +1,4 @@
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
Public Class MimeEx
Inherits BaseClass

View File

@@ -1,4 +1,5 @@
Imports System.Runtime.CompilerServices
Imports System.Data
Imports System.Runtime.CompilerServices
Imports System.Web
Public Module ModuleExtensions

View File

@@ -8,12 +8,12 @@ Imports System.Runtime.InteropServices
' Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("Modules.Base")>
<Assembly: AssemblyDescription("basisfunktionalitäten für DigitalData Anwendungen")>
<Assembly: AssemblyCompany("Digital Data GmbH")>
<Assembly: AssemblyProduct("Modules.")>
<Assembly: AssemblyCopyright("Copyright © 2025")>
<Assembly: AssemblyTrademark("1.3.9.0")>
'<Assembly: AssemblyTitle("Modules.Base")>
'<Assembly: AssemblyDescription("basisfunktionalitäten für DigitalData Anwendungen")>
'<Assembly: AssemblyCompany("Digital Data GmbH")>
'<Assembly: AssemblyProduct("Modules.")>
''<Assembly: AssemblyCopyright("Copyright © 2025")>
'<Assembly: AssemblyTrademark("1.3.9.0")>
<Assembly: ComVisible(False)>
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' indem Sie "*" wie unten gezeigt eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.3.9.0")>
<Assembly: AssemblyFileVersion("1.3.9.0")>
'<Assembly: AssemblyVersion("1.3.9.0")>
'<Assembly: AssemblyFileVersion("1.3.9.0")>

View File

@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
<Profile Name="Default" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -1,8 +1,9 @@
Imports System
Imports System.Drawing
Imports System.Runtime.InteropServices
Imports Digitaldata.Modules.Base.NativeMethods
Imports System.Windows.Forms
Imports DigitalData.Modules.Base.NativeMethods
Public Class ScreenEx
Public Const DEFAULT_WINDOW_HEIGHT = 480

View File

@@ -1,5 +1,5 @@
Imports System.Globalization
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
Public Class StringFunctions
Public Shared Function SplitText_Length(ByVal input As String, ByVal maxLength As Integer) As List(Of String)

View File

@@ -1,6 +1,6 @@
Imports System.ComponentModel
Imports System.Runtime.InteropServices
Imports DigitalData.Modules.Logging
Imports Digitaldata.Modules.Logging
Imports DigitalData.Modules.Base.NativeMethods
Public Class WindowsEx

View File

@@ -1,361 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Base
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Base.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Base.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Base.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Base.BaseClass">
<summary>
BaseClass that sets up a Logger.
</summary>
</member>
<member name="T:DigitalData.Modules.Base.Encryption">
<summary>
https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp
</summary>
</member>
<member name="M:DigitalData.Modules.Base.DatabaseEx.NotNull``1(System.Data.DataRow,System.String,``0)">
<summary>
TODO: Deprecate
Checks a Row value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="pRow">The DataRow that contains the value</param>
<param name="pColumn">The column name</param>
<param name="pDefaultValue">The default value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetChecksum(System.String)">
<summary>
Reads the file at `FilePath` and computes a SHA256 Hash from its contents
</summary>
<param name="FilePath"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedFilename(System.String)">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="pFilePath">Filepath to check</param>
<returns>Versioned string</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedFilenameWithFilecheck(System.String,System.Func{System.String,System.Boolean})">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="pFilePath">Filepath to check</param>
<param name="pFileExistsAction">Custom action to check for file existence</param>
<returns>Versioned string</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedString(System.String)">
<summary>
Split String at version separator to:
check if string is already versioned,
get the string version of an already versioned string
</summary>
<example>
Examples:
test1.pdf --> test1 --> ['test1'] --> no fileversion
test1~2.pdf --> test1~2 --> ['test1', '2'] --> version 2
test1~12345~2.pdf --> test1~12345~2 --> ['test1', '12345', '2'] --> still version 2
somestring~3 --> somestring~3 --> ['somestring', '3'] --> version 3
</example>
<param name="pString">The string to versioned</param>
<returns>Tuple of string and version</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.RemoveFiles(System.String,System.Int32,System.String,System.String,System.Boolean)">
<summary>
Removes files in a directory filtered by filename, extension and last write date
</summary>
<param name="Path">The directory in which files will be deleted</param>
<param name="FileKeepTime">Only delete files which are older than x days. Must be between 0 and 1000 days.</param>
<param name="FileBaseName">A filename filter which will be checked</param>
<param name="FileExtension">A file extension which will be checked</param>
<param name="ContinueOnError">Should the function continue with deleting when a file could not be deleted?</param>
<returns>True if all files were deleted or if no files were deleted, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.CopyDirectory(System.String,System.String,System.Boolean)">
<summary>
Copied from https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories
</summary>
<param name="SourceDirName"></param>
<param name="DestDirName"></param>
<param name="CopySubDirs"></param>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.CreateDirectory(System.String,System.Boolean)">
<summary>
Tries to create a directory and returns its path.
Returns a temp path if `DirectoryPath` can not be created or written to.
</summary>
<param name="DirectoryPath">The directory to create</param>
<param name="TestWriteAccess">Should a write access test be performed?</param>
<returns>The used path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.TestFileIsLocked(System.String)">
<summary>
Checks if a file is locked, ie. in use by another process.
</summary>
<remarks>
https://docs.microsoft.com/en-us/dotnet/standard/io/handling-io-errors
https://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use
</remarks>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.TestFileSizeIsLessThanMaxFileSize(System.String,System.Int32)">
<summary>
Checks the size of the supplied file.
</summary>
<param name="pFilePath"></param>
<param name="pMaxFileSizeInMegaBytes"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FileWatcher.HandleFileChanged(System.Object,System.IO.FileSystemEventArgs)">
<summary>
This may fire twice for a single save operation,
see: https://blogs.msdn.microsoft.com/oldnewthing/20140507-00/?p=1053/
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters">
<summary>
Built-in filters for FileWatcher that are useful for correctly detecting changes on Office documents (currently Office 2016)
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.BaseFileFilter">
<summary>
Base Filter that all filters must inherit from
Provides two functions that may be overridden and some useful file extension lists
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.TempFileFilter">
<summary>
Simple Filter that filters changes made on temporary files
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.OfficeFileFilter">
<summary>
Filter to detect changes on Office files
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.Truncate(System.String,System.Int32)">
<summary>
Truncates a string to the specified length if it exceeds that length.
</summary>
<param name="pString">The string</param>
<param name="pLength">The maximum string length</param>
<returns>The truncated string</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.EscapeForSQL(System.String)">
<summary>
Replaces single quotes in text for SQL Commands.
</summary>
<param name="pString">The string</param>
<returns>The escaped string.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.ToBoolean(System.String)">
<summary>
Converts a string to boolean. Accepts true and 1 as truthy values
</summary>
<param name="pString">The input string</param>
<returns>True if input is true or 1, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.IsNullOrEmpty(System.String)">
<summary>
Checks if a string is null or empty
</summary>
<param name="pString">The input string</param>
<returns>True string is null or empty, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.IsNotNullOrEmpty(System.String)">
<summary>
Checks if a string is NOT null or empty
</summary>
<param name="pString">The input string</param>
<returns>True string is null or empty, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetChecksumFromFileContents(System.String)">
<summary>
Reads the file at `FilePath` and computes a SHA256 Hash from its contents
</summary>
<param name="pFilePath"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetDateDirectory(System.String,System.DateTime)">
<summary>
Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day]
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<param name="pDate">The date to be used</param>
<returns>The final directory path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetDateDirectory(System.String)">
<summary>
Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day] based on the current date
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<returns>The final directory path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.CreateDateDirectory(System.String,System.DateTime)">
<summary>
Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day]
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<param name="pDate">The date to be used</param>
<returns>The created path. If the directory cannot be created, Nothing.</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.CreateDateDirectory(System.String)">
<summary>
Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day] based on the current date
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<returns>The created path. If the directory cannot be created, Nothing.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.NotNull``1(``0,``0)">
<summary>
Checks a value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="value">The value</param>
<param name="defaultValue">The default Value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.String)">
<summary>
Converts a String value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The string value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.Int32)">
<summary>
Converts an Integer value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The integer value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.Int64)">
<summary>
Converts a Long value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The long value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.GraphicsEx.GetBrightness(System.Drawing.Color)">
<summary>
Returns the brightness of a color as a number between 0 and 1
</summary>
<param name="pColor">The color to check</param>
<returns>Low values for dark colors, high values for bright colors.</returns>
</member>
<member name="M:DigitalData.Modules.Base.GraphicsEx.GetContrastedColor(System.Drawing.Color)">
<summary>
Returns a foreground/text color of either black or white, depending on the brightness of `pOtherColor`
</summary>
<param name="pOtherColor">The Background color whose brightness is determined</param>
<returns>A text color which is either white or black</returns>
</member>
<member name="T:DigitalData.Modules.Base.LanguageEx">
<summary>
Functions relating to i18n, Cultures, Translations
</summary>
</member>
<member name="M:DigitalData.Modules.Base.LanguageEx.SetApplicationLanguage(DigitalData.Modules.Logging.Logger,System.String,System.String)">
<summary>
Sets the Language of the current thread by setting CurrentCulture and CurrentUICulture
</summary>
<param name="pLogger">A Logger instance</param>
<param name="pUserLanguage">A language code in the form of 'de-DE'</param>
<param name="pUserDateFormat">A custom date pattern</param>
</member>
<member name="M:DigitalData.Modules.Base.LanguageEx.LogApplicationLanguage(DigitalData.Modules.Logging.Logger)">
<summary>
Logs the culture settings of the current thread
</summary>
<param name="pLogger">A Logger instance</param>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.IsVisibleOnAnyScreen(System.Drawing.Point)">
<summary>
Checks if a point is Visible on any screen
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.SizeIsVisible(System.Drawing.Size)">
<summary>
Checks if Size is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.LocationIsVisible(System.Drawing.Point)">
<summary>
Checks if Location is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.ConvertTextToSlug(System.String)">
<summary>
Creates a "slug" from text that can be used as part of a valid URL.
Invalid characters are converted to hyphens. Punctuation that Is
perfect valid in a URL Is also converted to hyphens to keep the
result mostly text. Steps are taken to prevent leading, trailing,
And consecutive hyphens.
</summary>
<param name="s">The string to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.RemoveInvalidCharacters(System.String)">
<summary>
Removes Invalid characters from a string, suitable for file and path names
Removed characters are:
* Illegal File-characters
* Illegal Path-characters
* Unicode characters that classify as Emoji
* All characters above codepoint U+10000
See:
https://stackoverflow.com/questions/46905176/detecting-all-emojis
https://stackoverflow.com/questions/28023682/how-do-i-remove-emoji-characters-from-a-string
</summary>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.GetShortGUID">
<summary>
Generates a random short (8 characters) guid
</summary>
<returns>The generated guid as a String</returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.TestContainsInvalidCharacters(System.String)">
<summary>
Checks if string contains invalid characters
</summary>
<param name="pString"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.GetChecksum(System.String)">
<summary>
Creates a hash using the SHA256 algorithm and returns it
</summary>
<param name="pStringToCheck">Any string</param>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -1,200 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Logging
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Logging.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Logging.LogConfig">
<module>LogConfig</module>
<version>0.0.1.0</version>
<date>02.10.2018</date>
<summary>
Module that writes file-logs to different locations:
local application data, the current directory or a custom path.
Files and directories will be automatically created.
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<example>
Imports DigitalData.Modules.Logging
Class FooProgram
Private Logger as Logger
Private LogConfig as LogConfig
Public Sub New()
LogConfig = new LogConfig(args)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
Class FooLib
Private Logger as NLog.Logger
Public Sub New(LogConfig as LogConfig)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
</example>
<remarks>
If logpath can not be written to, falls back to temp folder as defined in:
https://docs.microsoft.com/de-de/dotnet/api/system.io.path.gettemppath?view=netframework-4.7.2
If used in a service, LogPath must be set to CustomPath, otherwise the Log will be written to System32!
For NLog Troubleshooting, set the following Environment variables to write the NLog internal Log:
- NLOG_INTERNAL_LOG_LEVEL: Debug
- NLOG_INTERNAL_LOG_FILE: ex. C:\Temp\Nlog_Internal.log
</remarks>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFactory">
<summary>
Returns the NLog.LogFactory object that is used to create Loggers
</summary>
<returns>LogFactory object</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFile">
<summary>
Returns the path to the current default logfile
</summary>
<returns>Filepath to the logfile</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogDirectory">
<summary>
Returns the path to the current log directory
</summary>
<returns>Directory path to the log directory</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Debug">
<summary>
Determines if a debug log will be written
</summary>
<returns>True, if debug log will be written. False otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Logs">
<summary>
Returns Logs in Memory as List(Of String) if Debug is enabled
Returns an empty list if debug is disabled
</summary>
<returns>A list of log messages</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogOptions)">
<summary>
Initializes a new LogConfig object with the options supplied as a LogOptions object
</summary>
<param name="Options"></param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogConfig.PathType,System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Initializes a new LogConfig object with a logpath and optinally a filename-suffix.
</summary>
<param name="LogPath">The basepath to write logs to. Can be AppData, CurrentDirectory or CustomPath.</param>
<param name="CustomLogPath">If `logPath` is set to custom, this defines the custom logPath.</param>
<param name="Suffix">If set to anything other than Nothing, extends the logfile name with this suffix.</param>
<param name="CompanyName">CompanyName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="ProductName">ProductName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="FileKeepRangeInDays">Amount of days where files are kept and not deleted.</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearOldLogfiles(System.Int32)">
<summary>
Clears old LogFiles from the configured logpath for compliance with the GDPR
</summary>
<param name="FileKeepRange">Days in which logfiles should be kept. All files older than `Now - FileKeepInterval` will be deleted.</param>
<returns>True, if files were deleted as expected or no files were deleted. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger">
<summary>
Returns the Logger for the calling class
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String)">
<summary>
Returns the Logger for the specified classname
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLoggerFor(System.String)">
<summary>
Returns the Logger for the specified module using event-properties
</summary>
<remarks>
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824
</remarks>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String,System.String)">
<summary>
Returns the Logger for a class specified by `ClassName`
</summary>
<param name="ClassName">The name of the class the logger belongs to</param>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearLogs">
<summary>
Clears the internal log
</summary>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetClassFullName(System.Boolean,System.Int32)">
<summary>
Gets the fully qualified name of the class invoking the calling method,
including the namespace but Not the assembly.
</summary>
<returns>The fully qualified class name</returns>
<remarks>This method is very resource-intensive!</remarks>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetConfig(System.String,System.String)">
<summary>
Returns the initial log configuration
</summary>
<param name="productName">The chosen productname</param>
<param name="logFileSuffix">The chosen suffix</param>
<returns>A NLog.LoggingConfiguration object</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.AddDefaultRules(NLog.Config.LoggingConfiguration@)">
<summary>
Adds the default rules
</summary>
<param name="config">A NLog.LoggingConfiguration object</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetCurrentLogFilePath">
<summary>
Returns the full path of the current default log file.
</summary>
<returns>Full path of the current default log file</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ReloadConfig">
<summary>
Reconfigures and re-adds all loggers, optionally adding the debug rule.
</summary>
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,136 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"DigitalData.Modules.Base/1.0.0": {
"dependencies": {
"DigitalData.Modules.Logging": "1.0.0",
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9",
"DigitalData.Modules.Logging.Reference": "2.0.0.0"
},
"runtime": {
"DigitalData.Modules.Base.dll": {}
}
},
"NLog/6.0.4": {
"runtime": {
"lib/netstandard2.1/NLog.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.4.4534"
}
}
},
"System.Configuration.ConfigurationManager/9.0.9": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.9",
"System.Security.Cryptography.ProtectedData": "9.0.9"
},
"runtime": {
"lib/net8.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Diagnostics.EventLog/9.0.9": {
"runtime": {
"lib/net8.0/System.Diagnostics.EventLog.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "0.0.0.0"
},
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"DigitalData.Modules.Logging/1.0.0": {
"dependencies": {
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9"
},
"runtime": {
"DigitalData.Modules.Logging.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"runtime": {
"DigitalData.Modules.Logging.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
}
}
},
"libraries": {
"DigitalData.Modules.Base/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"NLog/6.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==",
"path": "nlog/6.0.4",
"hashPath": "nlog.6.0.4.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==",
"path": "system.configuration.configurationmanager/9.0.9",
"hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==",
"path": "system.diagnostics.eventlog/9.0.9",
"hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==",
"path": "system.security.cryptography.protecteddata/9.0.9",
"hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512"
},
"DigitalData.Modules.Logging/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
}
}
}