The Dogma Solutions "Foundation" project (2005-2025) is an attempt to provide a basic and modern set of (opinionated):
- Interfaces and abstractions for objects, DTOs, an entities modeling
- Recyclable low-level functionalities
- Simple implementations of most common design patterns
All packages follows the conventions of Semantic Versioning 2.0.0.
Cit.:
Given a version number MAJOR.MINOR.PATCH, increment the:
1. MAJOR version when you make incompatible API changes
2. MINOR version when you add functionality in a backward compatible manner
3. PATCH version when you make backward compatible bug fixes
Additional labels for pre-release and build metadata are available as extensions
to the MAJOR.MINOR.PATCH format.
- First release date: October 2025
- .NET versions: netstandard2.0, net7.0, net8.0, net9.0
- ❌ Dropped support to net6.0
- *️⃣ Changed references to OPC Foundation 1.5 (previously was 1.4)
- First release date: 2025/09/03
- .NET versions: netstandard2.0, net6.0, net7.0, net8.0, net9.0
- 🆕 Added CycloneDX SBOM functionalities
- 🆕 Added SPDX SBOM functionalities
- 💡 Use OPC Foundation 1.4
- First release date: 2025/02/19
- .NET versions: netstandard2.0, net6.0, net7.0, net8.0, net9.0
- 🆕 Added support to net9.0
- ❌ Dropped support to net472
- 💡 Use OPC Foundation 1.4
- First release date: 2025/10/01
- .NET versions: netstandard2.0, net472, net5.0, net6.0, net7.0, net8.0
- *️⃣ Changed references to OPC Foundation 1.5 (previously was 1.4)
- First release date: 2025/04/07
- .NET versions: netstandard2.0, net472, net5.0, net6.0, net7.0, net8.0
- 💡 Use OPC Foundation 1.4
- First release date: 2024/04/16
- .NET versions: netstandard2.0, net472, net5.0, net6.0, net7.0, net8.0
- 💡 Use OPC Foundation 1.4
- First release date: 2024/02/09
- .NET versions: netstandard2.0, net472, net5.0, net6.0, net7.0, net8.0
- 🆕 Added support to net7.0
- 🆕 Added support to net8.0
- First release date: 2024/02/08
- .NET versions: netstandard2.0, net472, net5.0, net6.0
- First release date: 2023/08/12
- .NET versions: netstandard2.0, net472, net5.0, net6.0
- First release date: 2023/10/08
- .NET versions: netstandard2.0, net472, net5.0, net6.0
- First release date: 2023/05/29
- .NET versions: netstandard2.0, net472, net5.0, net6.0
- 🆕 Added support to net5.0
- 🆕 Added support to net6.0
- First release date: 2022/09/30
- .NET versions: netstandard2.0, net472
- First release date: 2020/04/27
- .NET versions: netstandard2.0, net472
- 🆕 Added support to netstandard2.0
- 🆕 Added support to net472
- ❌ Dropped support to net46
- First release date: 2017/09/27
- .NET versions: net46
Every package contains a specific subset of functionalities related to a specific area of interest.
Here follows a list of NuGet packages aggregated by topic.
Extensions to simplify the creation of application infrastructures.
DogmaSolutions.ApplicationInfrastructure
DogmaSolutions.AspNetCore
DogmaSolutions.AspNetCore.Security
DogmaSolutions.CommandLine
DogmaSolutions.Configuration
DogmaSolutions.Configuration.SqlLite
DogmaSolutions.Configuration.SqlServer
Basic functions to implement integrated benchmarks inside performance-aware applications.
Functionalities that extend and simplify the usage of existing cryptographic frameworks and security-aware libraries.
DogmaSolutions.Certificates
DogmaSolutions.Cryptography
DogmaSolutions.AspNetCore.Security
DogmaSolutions.Security
DogmaSolutions.Security.Ldap
DogmaSolutions.EntityFrameworkCore.Encryption
DogmaSolutions.EntityFrameworkCore.Encryption.Abstractions
Utils to manipulate primitives and low-level data formats.
DogmaSolutions.Contracts
DogmaSolutions.Collections
DogmaSolutions.Collections.Smart
DogmaSolutions.Csv
DogmaSolutions.Geography
DogmaSolutions.Json
DogmaSolutions.PrimitiveTypes
DogmaSolutions.Xml
Low-level utils of various kinds.
DogmaSolutions.Statistics
DogmaSolutions.Tasking
DogmaSolutions.I18n
DogmaSolutions.ErrorsHandling
DogmaSolutions.FileSystem
DogmaSolutions.Networking
Reflection functionalities and helpers to discover assemblies and types based on their features and contents.
Classes, interfaces, datamodels and basic implementations of commonly used design patterns
DogmaSolutions.DataContracts
DogmaSolutions.DesignPatterns
DogmaSolutions.StateMachines
DogmaSolutions.Services
DogmaSolutions.Services.Serialization
Functionalities to build supervisors of industrial devices.
IBH devices: functionalities to build supervisors of industrial devices based on IBH technology
Siemens devices: functionalities to build supervisors of industrial devices based on Siemens S7 technology
OPC-UA-abled devices: functionalities to build supervisors of industrial devices able to communicate via OPC-UA
OPC-UA integration: services, utils and extensions to build OPC-UA clients, servers and supervisors
DogmaSolutions.Opc.Ua.Client
DogmaSolutions.Opc.Ua.Server
DogmaSolutions.Opc.Ua.Server.Abstractions
DogmaSolutions.Opc.Ua.Server.Hosting
DogmaSolutions.Opc.Ua.Server.Hosting.Abstractions
Images and videos manipulation
Extensions and basic functionalities to build data-management layers and infrastructures.
DogmaSolutions.Data
DogmaSolutions.Data.Materialization
DogmaSolutions.Data.Sql
DogmaSolutions.Entities.Contracts
DogmaSolutions.EntityFrameworkCore.AspNetCore
DogmaSolutions.EntityFrameworkCore.Auditing → utils to facilitate the implementation of auditing functionalities at DatabaseContext-level
DogmaSolutions.EntityFrameworkCore.Contracts
DogmaSolutions.EntityFrameworkCore.Secured → utils to facilitate the implementation of data-access services including security checks
DogmaSolutions.EntityFrameworkCore.Unsecured → utils to facilitate the implementation of data-access services without security checks
DogmaSolutions.EntityFrameworkCore.Utils
DogmaSolutions.EntityFrameworkCore.Encryption → utils to facilitate column encryption using a configurable key
DogmaSolutions.EntityFrameworkCore.Checks → utils to create check constraints
DogmaSolutions.EntityFrameworkCore.Encryption.Abstractions
DogmaSolutions.SqlServer.LocalDb
Extensions for lightweight extensibility and pluggability management.
Multiple extensions to industry-standard logging libraries.
DogmaSolutions.Log4NetExtensions
DogmaSolutions.MicrosoftLoggingExtensions
DogmaSolutions.SlidingWindowLogger
Extensions and utils for datamodels validations
Helper functions and classes for automated tests implementation
Basic archetypes and datamodels of commonly used anagraphic entities
All packages of the "Foundation" project are released under the MIT License.