AridityTeam.Ascorbic 26.1.26010

dotnet add package AridityTeam.Ascorbic --version 26.1.26010
                    
NuGet\Install-Package AridityTeam.Ascorbic -Version 26.1.26010
                    
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="AridityTeam.Ascorbic" Version="26.1.26010" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AridityTeam.Ascorbic" Version="26.1.26010" />
                    
Directory.Packages.props
<PackageReference Include="AridityTeam.Ascorbic" />
                    
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 AridityTeam.Ascorbic --version 26.1.26010
                    
#r "nuget: AridityTeam.Ascorbic, 26.1.26010"
                    
#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 AridityTeam.Ascorbic@26.1.26010
                    
#: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=AridityTeam.Ascorbic&version=26.1.26010
                    
Install as a Cake Addin
#tool nuget:?package=AridityTeam.Ascorbic&version=26.1.26010
                    
Install as a Cake Tool

AridityTeam.Ascorbic

The main platform core library for The Aridity Team projects.

This library contains the core functionalities and abstractions that are shared across various projects within The Aridity Team ecosystem. It serves as the foundation for building applications and services that adhere to the team's standards and practices.

We've made this library available for anyone to use in their projects, in hopes that it will be useful, and make things simple for them in the future.

Contributions are always welcome, and it helps improve our other projects as well! To start contributing, you can read CONTRIBUTING.md to help you getting started on your first contribution into project.

Features

  • Observable Collections: A collection that provides notifications when items get added, removed, or when the whole list is refreshed.
  • Performance Analyzing: A utility for analyzing and measuring the performance used.
  • Configuration: A utility for managing, writing, and reading configuration files for your application.
  • Disposable abstractions: Some useful or useless abstraction classes that provides virtual functions for disposing managed or unmanaged objects.
  • Validation: A set of validation utilities to ensure data integrity and correctness. (validation methods inside the library are provided by Microsoft.VisualStudio.Validation, all of their code is used in the library, and are modified to suit our needs.)
  • Threading: AridityTeam.Ascorbic provides a set of threading (mostly asynchronous) utilities that were not present in BCL.
  • Proper Error-Handling: AridityTeam.Ascorbic provides a few methods, and classes like Result<T> to ensure proper error handling.
  • Command-line parser: A parser for command-line arguments that simplifies the process of handling user input.
  • Multi-text writer: A utility for writing text to multiple outputs simultaneously, such as console and file.
  • Logging: A logging framework that supports various log levels and output formats, making it easier to track application behavior.
  • Extensions: AridityTeam.Ascorbic provides variety of extension methods for base .NET types. (string, TextWriter, and Stream).
  • Service Management: A utility that manages registered services, to be used in singleton instances.
  • Polyfills: AridityTeam.Ascorbic provides extension methods to be able to use (some of) the latest .NET APIs in older framework runtimes, like .NET Framework v4.7.2.

License

This library, and most of the other third-party components used is licensed under the MIT/X11 License. License terms may apply here.

Third-party software used

Here is a list of third-party software used inside Ascorbic's code, in which made this library, and our other projects possible:

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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 is compatible.  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.  net9.0 was computed.  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 is compatible.  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. 
.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 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 was computed.  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
26.1.26010 128 1/10/2026
26.1.26001-beta.21 86 1/1/2026
25.12.25364-beta.20 82 12/30/2025
25.12.25362-beta.19 73 12/28/2025
25.12.25360 176 12/26/2025
25.12.25360-beta.17 130 12/26/2025
25.12.25360-beta 48 12/26/2025
0.0.9-beta 195 12/24/2025
0.0.8 197 12/24/2025
0.0.7 197 12/22/2025
0.0.6 180 12/21/2025
0.0.5 146 12/21/2025
0.0.4 275 12/15/2025
0.0.3 457 12/11/2025

I was supposed to release this version back then before I fly to an island for an staycation, but oh well:

- Addition: MultiTextWriter.Writers
- Addition: DisposableObject.Disposing event
- Addition: BiDisposableObject.Disposing event
- Addition: AsyncDisposableObject.Disposing event
- Addition: DisposableObject.~DisposableObject
- Addition: BiDisposableObject.~BiDisposableObject
- Addition: AsyncDisposableObject.~AsyncDisposableObject
- Addition: Some type converters (even JSON) for the AridityTeam.Util.Binary class
- Modified: Changed MultiTextWriter's XML documentation
- Modified: Overriden the "Dispose(bool)" method in MultiTextWriter
- Modified: Added missing "DataContract" attributes to serializable types
- Modified: Made string format parameters in each Logger functions nullable
- Modified: Used the default type converters for the AridityTeam.Util.Binary class
- Modified: Changed the package icon to differentiate this library from Aridity Cereon
- Modified: Localized the default AridityTeam.Services.ServiceNotFoundException message
- Modified: Made the IFormatProvider parameter in MultiTextWriter's constructor nullable
- Modified: Fixed MultiTextWriter.Write(string, object?, object?) not passing the "arg1" parameter into it's writers