The constraints, stated plainly
| BCL only | Zero third-party dependencies and zero platform APIs. Codecs, math, geometry, parsing, networking primitives - written out rather than bound to. |
|---|---|
| Portable by transliteration | The code avoids constructs that have no straightforward equivalent elsewhere, so a type can be carried across to another language by rewriting it line for line rather than redesigning it. |
| AOT-clean | No runtime code generation and no reflection tricks that a trimmer cannot follow. What compiles ahead of time is the whole program. |
| Warnings as errors | TreatWarningsAsErrors across the tree. A warning is a failed build, not a note for later. |
| Offline at runtime | Data catalogs are baked in at build time from public-domain and CC0 sources, each cited. Nothing reaches for the network while running. |
Why bother
The usual answer to a hard problem is to take a dependency. That is often correct, and it is also how a codebase acquires a supply chain, a licence surface, a native build step and a set of platforms it quietly stops supporting.
This library takes the other road on purpose. The cost is obvious: you write the thing yourself, and it takes longer. The payoff is that the whole system is one language, one build, readable end to end, and it goes wherever .NET goes without a second thought.
The honest trade-off: a self-contained implementation is not automatically better than a mature dependency. It is smaller in scope, easier to read, and entirely ours to fix. That is the trade being made, and it is not free.
Status
The library is built and locked. This site is not - it is being written. There is nothing to download from this page yet, and no release notes here to read.
OnlyCSharp · site coming soon