Dubratz.DarkOrange.Core 5.3.0.55

dotnet add package Dubratz.DarkOrange.Core --version 5.3.0.55
                    
NuGet\Install-Package Dubratz.DarkOrange.Core -Version 5.3.0.55
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dubratz.DarkOrange.Core" Version="5.3.0.55" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dubratz.DarkOrange.Core" Version="5.3.0.55" />
                    
Directory.Packages.props
<PackageReference Include="Dubratz.DarkOrange.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dubratz.DarkOrange.Core --version 5.3.0.55
                    
#r "nuget: Dubratz.DarkOrange.Core, 5.3.0.55"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Dubratz.DarkOrange.Core@5.3.0.55
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Dubratz.DarkOrange.Core&version=5.3.0.55
                    
Install as a Cake Addin
#tool nuget:?package=Dubratz.DarkOrange.Core&version=5.3.0.55
                    
Install as a Cake Tool

Dubratz.DarkOrange.Core

NuGet .NET

A utility library providing tools and helpers for Windows applications and general .NET development.

Features

String Utilities (DubString)

  • Wildcard pattern matching with support for both standard (*, ?) and SQL LIKE (%, _) operators
  • Base64 encoding/decoding with configurable lengths
  • String comparison and manipulation tools
  • Case-sensitive and case-insensitive matching

Date & Time Operations (DubDateAndTime)

  • Time span calculations and conversions
  • Human-readable time formatting
  • Support for seconds, minutes, hours, days, and weeks
  • Configurable abbreviations and formatting

File & Directory Utilities

  • DubFile: Advanced file reading/writing with event-driven architecture
  • DubDirectoriesAndFiles: Directory and file management helpers
  • DubMetaFile: File metadata extraction and manipulation
  • DubAppLock: Application-level file locking mechanisms

System Information (DubOSInfo)

  • Operating system detection and information
  • Friendly OS name resolution
  • System environment queries

Variable Replacement (DubVariablesReplace)

  • Dynamic variable expansion with %variable% syntax
  • Built-in system variables:
    • User and machine identity (%IdUser%, %IdMachine%)
    • Common directories (%DirAppData%, %DirTemp%, etc.)
    • Date/time formatting (%DateCompact%, %DateNormal%, etc.)
    • Application info (%IdApplication%, %DirAppStartup%)
  • Custom variable support
  • Nested variable expansion with circular reference protection
  • Environment variable expansion

Other Utilities

  • DubNumeric: Numeric operations and conversions
  • DubBitsToBytes: Bit/byte conversion utilities
  • DubAssemblyInformation: Assembly metadata extraction
  • DubExceptions: Custom exception handling

Installation

Install via NuGet Package Manager:

dotnet add package Dubratz.DarkOrange.Core

Or via Package Manager Console:

Install-Package Dubratz.DarkOrange.Core

Quick Start

String Pattern Matching

using Dubratz.DarkOrange.Core;

var dubString = new DubString("HelloWorld.txt");
dubString.IgnoreCase = true;

// Standard wildcards
bool matches = dubString.IsLike("*.txt"); // true

// SQL LIKE operators
bool sqlMatch = dubString.IsLike("%World%", DubString.WildcardOperators.SqlLike); // true

Variable Replacement

using Dubratz.DarkOrange.Core;

var replacer = new DubVariablesReplace();
string result = replacer.Convert("%IdUser%_%DateCompact%.log");
// Output: "JohnDoe_20240115.log"

// With custom variables
var customVars = new List<DubReplaceKey>
{
    new("AppName", "MyApp"),
    new("Version", "1.0.0")
};
string path = DubVariablesReplace.Convert("%AppName%_v%Version%", customVars);
// Output: "MyApp_v1.0.0"

Date & Time Formatting

using Dubratz.DarkOrange.Core;

var duration = new DubDateAndTime(TimeSpan.FromSeconds(3665));
duration.AbbreviateSuffix = true;
string formatted = duration.ToString();
// Output: "1h 1m 5s"

Requirements

  • .NET 9.0 or later
  • Windows (some features are Windows-specific)

Dependencies

  • MetadataExtractor (v2.8.1)
  • Microsoft.Win32.Registry (v5.0.0)
  • SharpSfv (v2.0.0)
  • System.Data.HashFunction.Core (v2.0.0)
  • System.Data.HashFunction.xxHash (v2.0.0)

Contributing

This is a core utility library maintained by Dubratz.net. For issues or feature requests, please contact the maintainers.

License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

Copyright © 2026 Dubratz.net

Version History

5.3.0

  • DubFile updated to .NET 9.0 features and performance improvements
  • Added framerate to dubmetafile

Company: Dubratz.net

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.3.0.55 97 4/8/2026
5.2.1.51 96 3/23/2026
5.2.0.50 96 3/14/2026
5.1.10.45 253 4/6/2025
5.1.5.43 357 10/15/2023

First version