Loudenvier.Utils 0.1.3

dotnet add package Loudenvier.Utils --version 0.1.3                
NuGet\Install-Package Loudenvier.Utils -Version 0.1.3                
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="Loudenvier.Utils" Version="0.1.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Loudenvier.Utils --version 0.1.3                
#r "nuget: Loudenvier.Utils, 0.1.3"                
#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.
// Install Loudenvier.Utils as a Cake Addin
#addin nuget:?package=Loudenvier.Utils&version=0.1.3

// Install Loudenvier.Utils as a Cake Tool
#tool nuget:?package=Loudenvier.Utils&version=0.1.3                

Loudenvier.Utils

alternate text is missing from this package README image alternate text is missing from this package README image

This is a collection of utilities I've been using for ages in my own C# programming. Some of it is great, some of it I'm ashamed of, most of it was written in the witching hours of the night, when ghosts roam and software crashes, but all of it is very useful (to me). Whenever I started a new project I ended up referencing "my" utils collection so it was only natural to turn it into a (few) nuget(s) package(s), for easier deployment and referencing, and then upload it to github for version control (actually it's been the other way around: organize, clean up and publish it to github and then publish to nuget). As can be seen, this is a work in progress!

The code does not aim to be very smart, it aims to solve common and simple problems, apease to my tastes (which will likely differ from yours), to make some repetitive tasks simple and avoid common errors and pitfalls, and ultimately help me not (re)inventing the wheel time and time again.

It does not aim for performance unless it specifically deals with performance sensitive code (like network-related code). Many parts were taken from other sources but most of these sources are long gone from (my) memory (I'm more careful to document on the sources I merge into it on more recent code)

Originally it was a monolithic project with many dependencies, but to publish it to nuget I've done some clean-up and organizing, segregating it into projects to only add "heavy" dependencies if you really need some specific functionality. The segregation was not by function (e.g.: date and time functions here, string functions there) but rather by the weight of the dependencies it would add to a referencing project. If some function added lots of references it ended up (or should) in a separate project/package.

I'm profusely thankful to PolySharp for providing generated, source-only polyfills for C# language features that allow me to easily use all runtime-agnostic features at .NET Standard 2.0 (which this project targets). I really recommend it for all .NET developers.

Documentation

I'm in the process of documenting everything using the amazing docfx project. It takes time to properly add the needed XML comments for documentation, but I'm activelly working on it (as an added bonus Intellisense is much more useful now). Once documentation is done, it will be served from github pages, and only then the nugets will get published.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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
0.1.3 92 9/26/2024
0.1.2 103 9/9/2024
0.1.1 95 9/8/2024
0.1.0 106 9/5/2024