Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 3.53 KB

File metadata and controls

38 lines (26 loc) · 3.53 KB

The IGLib.Core Project

This project contains Core Utilities of the IGLib (the Investigative Generic Library). These are common utilities that may be used in other more specialized libraries of the IGLib, but are of more general usability and can be used in other projects, too.

Code in this project should not use reflection and should not have significant dependence on external libraries. It is meant to be a slim library, suitable for ahead of time (AOT) compilation and deployment on devices with limited resources where trimming might be required.

[IGLib]

Additional Information about the Project

This project is also used in the legacy IGLib (see the README file), which is still used in several applications. the project is required to target both .NET Framework 4.8 and newer Frameworks such as .NET 8 and higher (the latter versions will change as new stable or long term support frameworks arrive), and also supports .NET Standard 2.0. Please note that new C# language features are enabled via <LangVersion>latest</LangVersion> in the project file.

This library should not contain complex third-party dependencies. In particular, it should not rely on code that extensively uses reflection. This is necessary when one wants to allow self-contained deployment scenarios where trimming is used. Code that provides generally used core utilities but does not satisfy these constraints should be put to the extended project counterpart, IGLib.CoreExtended.

For documentation on some of the utilities provided by this library, see other documents, such as:

Testing

Unit tests and some lower level integration tests are provided in the IGLib.Core.Tests project.