kwld.CoreUtil 1.4.0-rc1

This is a prerelease version of kwld.CoreUtil.
There is a newer version of this package available.
See the version list below for details.
dotnet add package kwld.CoreUtil --version 1.4.0-rc1                
NuGet\Install-Package kwld.CoreUtil -Version 1.4.0-rc1                
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="kwld.CoreUtil" Version="1.4.0-rc1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add kwld.CoreUtil --version 1.4.0-rc1                
#r "nuget: kwld.CoreUtil, 1.4.0-rc1"                
#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 kwld.CoreUtil as a Cake Addin
#addin nuget:?package=kwld.CoreUtil&version=1.4.0-rc1&prerelease

// Install kwld.CoreUtil as a Cake Tool
#tool nuget:?package=kwld.CoreUtil&version=1.4.0-rc1&prerelease                

Overview

Core library holding various extensions to improve code development and readability.

See Docs for details

Whats New

  • Removing .net7.0 target (only maintaining supported versions)
  • Better implementation for IDirectoryInfo.IsCaseSensitive()
  • Renamed TreeCUD to TreeDiff
  • IsCaseSensitive now available on Directory; Files and IFileSystem
  • EnsureEmpty now usable if selected folder is current directory.
  • EnsureEmpty and EnsureDelete both include option to delete readonly files.
  • Disposable wrapper now support using System.IO objects.
  • New PushD extension.
  • New Dictionary.WithDefaults() extension.
  • New IDirectoryInfo.All extenions making it easy to find and perfrom an action recursivly
  • Dictionary.DefaultTo() replaced by WithDefaults()

Features

Global Usings

For easy use; all extensions are included as global usings (.net 6 +)
By default the standard ImplicitUsings property determines if they are included or not.
The can also be manually controlled via the ImplicitUsings_CoreUtil build property.

Framework support

To leverage new language features, this now targets multiple frameworks.
Some features are only available for newer frameworks.

Helpers for file system.

Mapping from static file system methods, such as Path.ChangeExtension() to corresponding FileInfo (and DirectoryInfo) extensions, such as FileInfo.ChangeExtension()

Includes set of extensions for System.IO.Abstractions such as IFileInfo.ChangeExtension()

A number of other file-system goodies like Touch(); EnsureExists()

Stream helpers

Simpler Read/Write lines to text stream.

A stream Tee.

String helpers

String split and join helpers.

Split on whitespace (find words)

Compare case-ignorant, and white-space ignorant (Same).

Collections.

Dictionary extensions to:

  1. Add a range, or merge.
  2. Ensure an item exists (DefaultTo)

A RecordArray for value-equality of a set of records. (with array-like serialization)

Build tooling.

A number of msbuild helpers, including:

Download file as part of the build.


^ source | nuget

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 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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen 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 (1)

Showing the top 1 NuGet packages that depend on kwld.CoreUtil:

Package Downloads
kwd.CoreDomain

A library to help creating rich domain entites for .NET Core

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.0 103 11/1/2024
1.4.0-rc1 70 10/31/2024
1.3.2 309 12/8/2023
1.3.2-preview2 131 11/22/2023
1.3.2-preview1 105 11/20/2023

Tree Extensions rename TreeCUD to TreeDiff.
     Use transitive build assets
     EnsureEmpty now usable if selected directory is curent directory.
EnsureEmpty / EnsureDelete can now delete read-only files.
Dictionary.WithDefaults() can now merge default values for dictionaries.
     Directory recursive All, AllFile and AllFolders for simpler usage.