FonsecaFramework 2026.5.12.1
dotnet add package FonsecaFramework --version 2026.5.12.1
NuGet\Install-Package FonsecaFramework -Version 2026.5.12.1
<PackageReference Include="FonsecaFramework" Version="2026.5.12.1" />
<PackageVersion Include="FonsecaFramework" Version="2026.5.12.1" />
<PackageReference Include="FonsecaFramework" />
paket add FonsecaFramework --version 2026.5.12.1
#r "nuget: FonsecaFramework, 2026.5.12.1"
#:package FonsecaFramework@2026.5.12.1
#addin nuget:?package=FonsecaFramework&version=2026.5.12.1
#tool nuget:?package=FonsecaFramework&version=2026.5.12.1
FonsecaFramework
Base classes and utilities for .NET applications.
Overview
FonsecaFramework is a .NET Standard 2.0 library that provides foundational building blocks for .NET applications. It includes MVVM support, repository patterns, cryptography helpers, JSON serialization extensions, file I/O utilities, email services, and thread-safe collections.
Installation
dotnet add package FonsecaFramework
Features
| Area | Key Classes |
|---|---|
| MVVM / Notifications | NotificationBase, ViewModelBase, ViewModelBase<T> |
| Operation Results | OperationResult<T>, FailableAction<TSuccess, TFailure>, UnitOfWork |
| Repository Pattern | IRepository<T, ID>, Repository<T>, RepositorySetting<T> |
| Cryptography | Encryptior (AES encrypt / decrypt) |
| File I/O | FileManager, JsonFileManager<T> |
EmailService (SMTP) |
|
| Collections | List<T> (thread-safe) |
| Extensions | ToJsonString(), ToObject<T>(), ToDictionary(), EnumToList<T>() |
Examples
OperationResult
Wrap the outcome of any operation with a strongly-typed result:
using FonsecaFramework.Core;
OperationResult<string> success = OperationResult<string>.CreateSuccess("All good");
Console.WriteLine(success.Success); // True
Console.WriteLine(success.Result); // "All good"
OperationResult<string> failure = OperationResult<string>.CreateFailure();
Console.WriteLine(failure.Success); // False
FailableAction
Run an action with an automatic fallback on failure:
using FonsecaFramework.Core;
var result = FailableAction<string, string>.Run(
action: () => "primary result",
actionWhenFailed: () => "fallback result"
);
Console.WriteLine(result.Status); // True
Console.WriteLine(result.Success); // "primary result"
AES Encryption / Decryption
using FonsecaFramework.Cryptography;
var encryptor = new Encryptior(Guid.Parse("01234567-89ab-cdef-0123-456789abcdef"));
string encrypted = await encryptor.Encrypt("Hello, World!");
string decrypted = await encryptor.Decrypt(encrypted);
Console.WriteLine(decrypted); // "Hello, World!"
JSON Extensions
using FonsecaFramework.Core;
var obj = new { Name = "Fonseca", Version = 1 };
string json = obj.ToJsonString(); // Serialize
var back = json.ToObject<dynamic>(); // Deserialize
JsonFileManager
using FonsecaFramework.IO;
var manager = new JsonFileManager<MyConfig>();
manager.WriteToFile("config.json", new MyConfig { Key = "value" });
MyConfig config = manager.GetFromFile("config.json");
Thread-Safe List
using FonsecaFramework.Collections;
var list = new List<int>();
list.Add(1); // Thread-safe add
list.Remove(1); // Thread-safe remove
list.Clear(); // Thread-safe clear
Repository Pattern
Implement a data repository by extending the base class:
using FonsecaFramework.Infrastructure;
public class CustomerRepository : Repository<Customer>
{
public CustomerRepository(RepositorySetting<Customer> settings) : base(settings) { }
public override Task Delete(long EntityID) { /* your logic */ }
public override Task<Customer> FindById(long EntityID) { /* your logic */ }
public override Task<List<Customer>> GetAll() { /* your logic */ }
public override Task<Customer> Insert(Customer entity) { /* your logic */ }
public override Task<Customer> Update(Customer entity) { /* your logic */ }
}
Requirements
- .NET Standard 2.0 compatible runtime
License
Copyright 2025 Steven Fonseca / VLR Creations
Licensed under the Apache License, Version 2.0. You may use this library free of charge, provided you include the required attribution notices. See the LICENSE file for full terms.
| 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.AspNetCore.Cryptography.KeyDerivation (>= 10.0.8)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on FonsecaFramework:
| Package | Downloads |
|---|---|
|
FonsecaFramework.Azure
Azure Connection Library |
|
|
FonsecaFramework.Sql
Microsoft Sql Server library |
|
|
FonsecaFramework.Ai
FonsecaFramework.Ai is a .NET library that provides practical AI and machine learning utilities, including AutoML model building, RAG vector search, sentiment/discourse analysis, and OpenAI-compatible chat client integration. |
|
|
FonsecaFramework.PayPal
An extremely simplified PayPal REST API client |
|
|
FonsecaFramework.UWP
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.5.12.1 | 114 | 5/13/2026 |
| 2026.5.11.1 | 193 | 5/11/2026 |
| 2026.5.7.2 | 243 | 5/7/2026 |
| 2026.5.7.1 | 238 | 5/7/2026 |
| 2026.5.6.1 | 244 | 5/6/2026 |
| 2026.5.5.1 | 246 | 5/5/2026 |
| 2026.5.2.1 | 225 | 5/2/2026 |
| 2026.4.30.1 | 202 | 4/30/2026 |
| 2026.4.29.1 | 239 | 4/29/2026 |
| 2026.4.27.1 | 205 | 4/28/2026 |
| 2026.4.22.1 | 200 | 4/22/2026 |
| 2026.4.21.1 | 198 | 4/21/2026 |
| 2026.4.20.1 | 212 | 4/20/2026 |
| 2026.4.15.1 | 213 | 4/15/2026 |
| 2026.4.13.1 | 212 | 4/13/2026 |
| 2026.4.10.1 | 201 | 4/10/2026 |
| 2026.4.8.1 | 224 | 4/8/2026 |
| 2026.4.7.1 | 212 | 4/7/2026 |
| 2026.4.3.1 | 222 | 4/3/2026 |
| 2026.4.1.1 | 230 | 4/1/2026 |