OGA.SharedKernel
3.5.4
dotnet add package OGA.SharedKernel --version 3.5.4
NuGet\Install-Package OGA.SharedKernel -Version 3.5.4
<PackageReference Include="OGA.SharedKernel" Version="3.5.4" />
paket add OGA.SharedKernel --version 3.5.4
#r "nuget: OGA.SharedKernel, 3.5.4"
// Install OGA.SharedKernel as a Cake Addin #addin nuget:?package=OGA.SharedKernel&version=3.5.4 // Install OGA.SharedKernel as a Cake Tool #tool nuget:?package=OGA.SharedKernel&version=3.5.4
OGA.SharedKernel
Base Shared Libraries for various project types.
Description
The intention of this library is to be the bottom layer of a process stack, providing the most common, base classes and interfaces for all layers above it (domain, infrastructure, API, and process).
Specifically, this library was put together to be the exclusive reference for any Domain library, allowing the domain logic to be free of other assembly references.
This library includes the following classes and elements that can be consumed:
- Date Time Utility extension class for truncating timestamps as needed for compatibility across backends.
- Some attribute classes used to decorate entities and other classes.
- App Path class, for global acesss to app path data within a runtime.
- Build Data class, for global acesss to process build data within a runtime.
- A set of base exceptions and business exceptions that can be used by all project types.
- A logging base to make logging accessible at the lowest layer of a project, the domain entity layer.
- The App Data class was moved here, so that all layers of a process can access it.
- The Stacktrace class is here, which can be used to provide additional callsite metadata for logging diagnostic messages, when a PDB is not present with process binaries.
- The Pagination Filter class is here, which allows result pagination to occur at the domain layer.
- Service interfaces, are here, such as the URI service.
- Global constants class for exposing company and application metadata to the entire process stack.
- A Return Data class, that allows a method to return a result and a message without a REF or OUT argument.
Installation
OGA.SharedKernel is available via NuGet:
Dependencies
This library depends on:
Building OGA.SharedKernel
This library is built with the new SDK-style projects. It contains multiple projects, one for each of the following frameworks:
- NET Framework 4.5.2
- NET Framework 4.7
- NET Framework 4.8
- NET 5
- NET 6
- NET 7
And, the output nuget package includes runtimes targets for:
- linux-any
- win-any
Framework and Runtime Support
Currently, the nuget package of this library supports the framework versions and runtimes of applications that I maintain (see above). If someone needs others (older or newer), let me know, and I'll add them to the build script.
Visual Studio
This library is currently built using Visual Studio 2019 17.1.
License
Please see the License.
Opinionation Apology...
This library references NLog, directly, for now.
I understand this may appear overly opinionated, at the bottom layer of a process stack. I agree... though, NLog works very well.
Once I get a chance to circle back, and work through a more agnostic logging interface, I will update (removing the specific logger tie).
You're welcome to swap out and compile whatever logger you'd like, of course.
If you have the need or feel inclined, send me feedback or a pull, so I know it helps someone, to make time and generalize the logging layer.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. 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 is compatible. 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. |
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 is compatible. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
NuGet packages (6)
Showing the top 5 NuGet packages that depend on OGA.SharedKernel:
Package | Downloads |
---|---|
OGA.DomainBase
Common functional elements, such as logging, config, process interrogation, etc... |
|
OGA.AppSettings.Writeable
Provides write access to Json files loaded by ConfigurationBuilder |
|
OGA.KeyMgmt
Simple Key Manager with persistence to Json or file |
|
OGA.InfraBase
Base library for infrastructure classes, and entities of any Id type. |
|
OGA.Postgres.DAL
Data Access Library (DAL) for PostGreSQL. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.5.4 | 1,132 | 3/29/2024 |
3.5.3 | 259 | 3/28/2024 |
3.5.2 | 480 | 3/28/2024 |
3.5.1 | 323 | 3/28/2024 |
3.5.0 | 360 | 3/28/2024 |
3.4.1 | 286 | 3/27/2024 |
3.4.0 | 254 | 3/27/2024 |
3.3.3 | 683 | 3/18/2024 |
3.3.2 | 464 | 3/18/2024 |
3.3.1 | 610 | 3/17/2024 |
3.3.0 | 538 | 3/17/2024 |
3.2.4 | 454 | 3/13/2024 |
3.2.3 | 294 | 3/13/2024 |
3.2.1 | 328 | 3/13/2024 |
3.1.0 | 676 | 7/2/2023 |
3.0.1 | 279 | 6/23/2023 |
3.0.0 | 596 | 4/9/2023 |
2.2.0 | 649 | 3/27/2023 |
2.1.0 | 1,015 | 2/20/2023 |
2.0.0 | 968 | 2/19/2023 |
1.7.4 | 425 | 2/18/2023 |
1.7.3 | 479 | 2/18/2023 |
1.7.2 | 589 | 2/18/2023 |
1.7.1 | 455 | 2/18/2023 |
1.7.0 | 371 | 2/18/2023 |
1.6.5 | 667 | 2/18/2023 |
(Please write the package release notes in "OGA.SharedKernel-RELEASE-NOTES.txt".)