Sundew.Base.Migrations 16.0.0

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

Sundew.Base

Sundew.Base is a collection of smaller NuGet packages that work on various .NETStandard targets:

Collections

Contains various Linq style extension methods for collection types suchs IEnumerable, IReadOnlyList etc.

  • For, ForEach, ForReverse, IndexOf, ToReadOnly.
  • AllOrFailed extension allows seemless conversion from IEnumerable<TItem?> to IEnumerable<TItem>.
  • OnlyOneOrDefault similar to SingleOrDefault, but never throws.
  • DistinctInOrder items only appear once, while preserving order.
  • ByCardinality extension allows checking whether an IEnumerable<TItem> is empty, has a single element or multiple elements.
  • Value-Array, List and Dictionary* wrappers for Immutable collections with value semantics.

Primitives

  • Result types (R<T, E> and R<T>, RoE<E>)
  • Option type T? (through extension methods).
  • Flag is an Interlocked.Exchanged based flag.

Computation

  • Attempter for implementing retry logic.
  • Progress reporting

Numeric

  • Interval represents an interval of two values.
  • Percentage value type.

Time

  • DateTime provider.

IO

  • Paths - search upwards for relative paths.

Text

  • AlignedString and AlignAndLimitFormatProvider providers aligning and length limiting string formatting.
  • NamedFormatString allows to define a string format using names rather than indices.
  • NaturalTextComparer does logical text comparison for all platforms with performance similar to the Windows specific StrCmpLogicalW.
  • AppendItems allows joining items into a StringBuilder.

Initialization

  • IInitializable for implementing async initialization logic.
  • InitializeAction for wrapping an Action in an IInitializable.
  • Initializer provides initialization of IInitializables.
  • InitializeFlag for keeping tracking whether initialization is completed.

Disposal

  • DisposeAction for wrapping an Action in an IDisposable.
  • DisposeAsyncAction for wrapping an Action in an IAsyncDisposable.
  • Disposer provides disposal of a fixed set of IDisposables.
  • DisposableState provides an easy way to implement the Dispose(bool) pattern.
  • DisposingDictionary allows building a list of IDisposables that supports disposal by a key and otherwise supports disposal in the same order.
  • DisposingList allows building a list of IDisposables for disposal in the same order.

IAsyncDisposable is only supported on .NETStandard2.1

Equality

  • ReferenceEqualityComparer compares objects by reference.
  • TargetEqualityWeakReference is a weak reference that implements equality based on target equality.

Memory

  • Buffer allows building arrays
  • Split extensions allows Linq style splitting memory in to segments.

Threading and Threading.Jobs

  • AsyncLazy provides a cancellable async lazy implementation
  • AsyncLock provides async locking.
  • CancellableJob is implementation of a cancellable task.
  • ContinusJob is implementation of a cancellable task that keeps running.

Timers

  • Timer is an easy to use and modify timer.
Product Compatible and additional computed target framework versions.
.NET 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 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Sundew.Base.Migrations:

Package Downloads
Sundew.Base.Migrations.System.Text.Json

Primitives types and extension methods.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
16.0.0 47 2/1/2026
16.0.0-u20260131-215542-ci 29 1/31/2026
16.0.0-u20260131-210447-ci 35 1/31/2026
15.1.0-u20260126-013109-ci 36 1/26/2026
15.1.0-u20260119-061127-ci 40 1/19/2026

15.0 - .NET 10 support, dropped older than netstandard2.0
14.0 - Result and collections improvements
13.0 - Results improvements
12.0 - Restructing into smaller packages
11.0 - Unified Disposal and Initialization
10.0 - O.None was changed to a property
9.0 - Immutable collections with value semantics, Result type redesign and new Option type, AppendItems replaces AggregateToStringBuilder and JoinToStringBuilder.
8.5 - JoinToStringBuilder and AggregateToStringBuilder improvements
8.4 - AllOrFailed extension for IEnumerable<T>
8.3 - NamedFormatString and AsyncLazy improvements
8.2 - ToEnumerable returns IReadOnlyCollection, Added Disposer ctors to avoid ambiguous calls
8.1 - Added NaturalTextComparer
8.0 - Added NamedFormatProvider, removed Text Split, use Memory.Split instead
7.0 - Split into separate packages and cleanup