Repository navigation
Development Environment
samatrhea edited this page Oct 18, 2026
·
5 revisions
-
.NET 10 SDK: required to build.
global.jsonpins it and rolls forward to the latest 10.0 feature band. The code uses C# 14. -
IDE: the core team uses JetBrains Rider. The solution contains a
.DotSettingsfile with the team's ReSharper code style. Visual Studio 2026 and Visual Studio Code with C# Dev Kit work too. -
NuGet: dependencies come from nuget.org. Their versions are managed centrally in
Directory.Packages.props.
| Project | Purpose |
|---|---|
ReqIFSharp |
the object model, ReqIFDeserializer, ReqIFSerializer and the embedded ReqIF and XHTML schemas (Resources) |
ReqIFSharp.Extensions |
extension methods (ReqIFExtensions) and ReqIFLoaderService (Services) |
ReqIFSharp.Tests |
NUnit tests for ReqIFSharp; sample ReqIF files are in TestData
|
ReqIFSharp.Extensions.Tests |
NUnit tests for ReqIFSharp.Extensions |
Settings shared by all projects live in Directory.Build.props. Packaging settings shared by the two libraries, such as the package metadata, the README and the SBOM generation, live in Directory.Build.targets.
- Serialization lives on the model classes: each class reads and writes its own XML through internal
ReadXmlandWriteXmlmethods, with an...Asyncvariant of each. Keep the two in step when you change serialization. -
ReqIfFactorymaps concrete subtypes, such as the attribute definitions and datatypes, to and from their XML element names. A new concrete subtype needs an entry there. -
ReqIfSchemaResolverresolves schema imports against the embedded resources, so validation works offline. - Classes take an optional
ILoggerFactoryand useNullLoggerwhen none is given.
- Every source file starts with the Apache 2.0 Starion Group copyright header. Copy it onto new files.
- Test fixtures are named
*TestFixtureand use NUnit 4.
copyright @ Starion Group S.A.