diff --git a/.gitignore b/.gitignore
index 6283cb2..b12a09f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -257,3 +257,4 @@ paket-files/
/TestResult.txt
/.claude/settings.local.json
+/.claude/agent-memory-local/
diff --git a/CLAUDE.md b/CLAUDE.md
index 2c7c8ad..53142b8 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -12,7 +12,19 @@ requirements-interchange documents. The repository ships two NuGet packages:
`ReqIFLoaderService`, built on top of the core. Targets `netstandard2.0`.
The two packages version independently (e.g. ReqIFSharp `10.x`, ReqIFSharp.Extensions `5.x`).
-Test projects target `net10.0` and use NUnit. `LangVersion` is pinned to `12.0`.
+Test projects target `net10.0` and use NUnit. `LangVersion` is pinned to `14.0` (in `Directory.Build.props`).
+Building requires the .NET 10 SDK (`global.json`, rolls forward to the latest 10.0 feature band).
+
+**MSBuild layout.** `Directory.Build.props` holds settings for every project (company,
+copyright, repository, `LangVersion`, `GenerateDocumentationFile`). Packaging settings shared
+by the published libraries (package metadata, README/LICENSE/NOTICE pack items, the
+`Microsoft.Sbom.Targets` reference) live in `Directory.Build.targets`, guarded by
+`'$(IsPackable)' != 'false'`; it must be a `.targets` file because `IsPackable` is set in the
+project body, after `.props` is evaluated. `GenerateDocumentationFile` cannot move there: the
+SDK derives the documentation-file settings from it before `.targets` is evaluated. Test
+projects therefore set both `false` and
+`false`. The library `.csproj` files keep
+only per-package settings (version, title, description, id, icon, authors, release notes).
## Common commands
diff --git a/Directory.Build.props b/Directory.Build.props
index 7a61dfe..8867e0f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -8,6 +8,12 @@
true
en-US
en-US
+ 14.0
+
+ true
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 0000000..a4a1782
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,27 @@
+
+
+
+
+ https://reqifsharp.org
+ Apache-2.0
+ ReqIF mbse modeltopia
+ False
+ false
+ true
+ true
+ true
+ README.md
+
+
+
+
+
+
+
+
+
+
diff --git a/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj b/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj
index b405466..c3d862a 100644
--- a/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj
+++ b/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj
@@ -6,6 +6,7 @@
Nunit test suite for the ReqIFSharp.Extensions library
disable
false
+ false
diff --git a/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj b/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj
index eac55d7..89ec697 100644
--- a/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj
+++ b/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj
@@ -3,25 +3,14 @@
netstandard2.0
5.2.1
- 12.0
ReqIFSharp.Extensions
A .NET library that provides extenions and services to operate on ReqIF documents.
ReqIFSharp.Extensions
- https://reqifsharp.org
- Apache-2.0
reqifsharp-extensions-logo-small.png
- ReqIF mbse modeltopia
- False
Sam Gerené
- false
- true
- true
- true
- true
- [Update] to reqifsharp version 10.1.1
- README.md
@@ -34,13 +23,6 @@
-
-
-
-
-
-
-
diff --git a/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj b/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj
index 695fe95..3bd0dc6 100644
--- a/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj
+++ b/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj
@@ -7,6 +7,7 @@
Nunit test suite for the ReqIFSharp library
disable
false
+ false
diff --git a/ReqIFSharp/ReqIFSharp.csproj b/ReqIFSharp/ReqIFSharp.csproj
index 5c24473..4712378 100644
--- a/ReqIFSharp/ReqIFSharp.csproj
+++ b/ReqIFSharp/ReqIFSharp.csproj
@@ -5,25 +5,14 @@
netstandard2.0
10.1.1
- 12.0
ReqIFSharp
A .NET library to deserialize (read) and serialize (write) OMG ReqIF documents.
ReqIFSharp
- https://reqifsharp.org
- Apache-2.0
reqifsharp-logo-small.png
- ReqIF mbse modeltopia
- False
Sam Gerené, Alexander van Delft
- false
- true
- true
- true
- true
- [Update] dependencies
- README.md
@@ -76,9 +65,6 @@
-
-
-
@@ -92,7 +78,6 @@
API need. The floor itself is set in Directory.Packages.props.
-->
-
\ No newline at end of file
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..512142d
--- /dev/null
+++ b/global.json
@@ -0,0 +1,6 @@
+{
+ "sdk": {
+ "version": "10.0.100",
+ "rollForward": "latestFeature"
+ }
+}