FuncNet 1.1.1
dotnet add package FuncNet --version 1.1.1
NuGet\Install-Package FuncNet -Version 1.1.1
<PackageReference Include="FuncNet" Version="1.1.1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="FuncNet" Version="1.1.1" />
<PackageReference Include="FuncNet"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add FuncNet --version 1.1.1
#r "nuget: FuncNet, 1.1.1"
#:package FuncNet@1.1.1
#addin nuget:?package=FuncNet&version=1.1.1
#tool nuget:?package=FuncNet&version=1.1.1
FuncNet
Library of source-generated functional utilities to use in C# with notably rich and easy-to-use adhoc Union, Result and Option types with async support.
Pipeline/Railway-Oriented Programming
This library is well-suited for working with railway-oriented programming approaches via Result, Union and Option types with full monad implementations and async support.
FuncNet
Nuget package containing the core functionality.
FuncNet.Analyzers
Nuget package containing analyzers and code fixes dedicated for use with FuncNet.
Getting Started
Package Installation
To get started with FuncNet, you need to install the following packages:
- FuncNet - The core package that should be referenced only once in your solution, typically in your domain/core project:
<PackageReference Include="FuncNet" Version="x.y.z">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Referencing FuncNet more than once can cause type definitions duplication.
- FuncNet.Analyzers - The analyzers package that should be referenced in every project where you want to use FuncNet features:
<ItemGroup>
<PackageReference Include="FuncNet.Analyzers" Version="x.y.z" />
</ItemGroup>
Configuring funcnet.json
FuncNet uses a configuration file funcnet.json
to register generic type combinations for source generation.
This file is required to enable all features of FuncNet, and an analyzer will throw an error if it cannot find it.
By convention:
- Create
funcnet.json
file at the solution root level - In all projects where you want to use FuncNet, add an
AdditionalFiles
entry to your.csproj
file so it can be detected. Example entry:
<ItemGroup>
<AdditionalFiles Include="..\funcnet.json" />
</ItemGroup>
- The file will be used by the source generators and analyzers
Example funcnet.json
file:
{
"GenericsRegistrations": [
"int,string",
"User,ValidationError",
"string,bool,float"
]
}
Each entry in the GenericsRegistrations
array represents a combination of types that will be used for source
generation of implicit conversions for Union and Result types.
These entries are automatically inserted via a code fix when using FuncNet.Analyzers
.
Product | Versions 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 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. 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 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. |
.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 was computed. 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. |
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.3.0)
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 |
---|---|---|
1.1.1 | 107 | 7/11/2025 |
1.0.6 | 137 | 7/6/2025 |
1.0.4 | 143 | 7/6/2025 |
1.0.2 | 139 | 7/6/2025 |
0.3.4 | 160 | 5/28/2025 |
0.3.3 | 145 | 5/28/2025 |
0.3.2 | 153 | 5/27/2025 |
0.3.1 | 147 | 5/27/2025 |
0.2.3 | 87 | 5/24/2025 |
0.2.2 | 74 | 5/24/2025 |
0.2.1 | 70 | 5/23/2025 |
0.1.3 | 75 | 5/23/2025 |
0.1.2 | 115 | 5/23/2025 |
0.1.1 | 150 | 5/23/2025 |
0.1.1-g344f13ba46 | 68 | 5/23/2025 |
0.1.0 | 244 | 5/23/2025 |