diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
index 3bd5bd4..4815fad 100644
--- a/.github/workflows/cd.yml
+++ b/.github/workflows/cd.yml
@@ -22,10 +22,10 @@ jobs:
matrix:
os: [ubuntu-latest]
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@v7
- name: Setup .NET
id: dotnet
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: ${{ env.dotnet_version }}
- name: Build
@@ -49,5 +49,6 @@ jobs:
project_path: ${{ needs.test.outputs.project_path }}
project_name: ${{ needs.test.outputs.project_name }}
dotnet_version: ${{ needs.test.outputs.dotnet_version }}
+ include_github_release_notes: true
secrets:
nuget_api_key: ${{ secrets.NUGET_API_KEY }}
diff --git a/README.md b/README.md
index 16e0ef5..86b330f 100644
--- a/README.md
+++ b/README.md
@@ -51,11 +51,11 @@ Supported data formats are:
3. Add references to [Corvus.Json.ExtendedTypes](https://github.com/corvus-dotnet/Corvus.JsonSchema?tab=readme-ov-file#corvusjsonextendedtypes) and [ParameterStyleParsers.OpenAPI](https://github.com/Fresa/OpenAPI.ParameterStyleParsers).
```
-
-
+
+
```
-* Corvus.Json.ExtendedTypes >= 4.0.0
+* Corvus.Json.ExtendedTypes >= 5.0.0
* ParameterStyleParsers.OpenAPI >= 1.4.0
4. Compile the project.
diff --git a/src/OpenAPI.WebApiGenerator/CodeGeneration/SchemaGenerator.cs b/src/OpenAPI.WebApiGenerator/CodeGeneration/SchemaGenerator.cs
index f5ab7aa..3bca5a4 100644
--- a/src/OpenAPI.WebApiGenerator/CodeGeneration/SchemaGenerator.cs
+++ b/src/OpenAPI.WebApiGenerator/CodeGeneration/SchemaGenerator.cs
@@ -159,14 +159,16 @@ private List GenerateCode(SourceGeneratorHelpers.TypesToGenerat
var generatedCode = typeBuilder.GenerateCodeUsing(
languageProvider,
- context.CancellationToken,
- typeDeclarationsToGenerate);
+ typeDeclarationsToGenerate,
+ context.CancellationToken);
foreach (var codeFile in generatedCode)
{
context.CancellationToken.ThrowIfCancellationRequested();
-
- var filePath = namespaceToPathConversion[codeFile.TypeDeclaration.DotnetNamespace()];
+
+ var filePath = namespaceToPathConversion[
+ codeFile.TypeDeclaration?.DotnetNamespace() ?? throw new InvalidOperationException(
+ $"Code file {codeFile.FileName} does not have a namespace. This is an internal implementation error.")];
var fileName = Path.Combine(filePath, codeFile.FileName);
// Deduplicate nested schemas that might already have been generated
diff --git a/src/OpenAPI.WebApiGenerator/OpenAPI.WebApiGenerator.csproj b/src/OpenAPI.WebApiGenerator/OpenAPI.WebApiGenerator.csproj
index df7c5f1..2dfd5f7 100644
--- a/src/OpenAPI.WebApiGenerator/OpenAPI.WebApiGenerator.csproj
+++ b/src/OpenAPI.WebApiGenerator/OpenAPI.WebApiGenerator.csproj
@@ -53,8 +53,8 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/tests/Example.OpenApi20/CompatibilitySuppressions.xml b/tests/Example.OpenApi20/CompatibilitySuppressions.xml
new file mode 100644
index 0000000..6d4c7a6
--- /dev/null
+++ b/tests/Example.OpenApi20/CompatibilitySuppressions.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ CP0002
+ M:Example.OpenApi20.Parameters.FooId.op_Implicit(Example.OpenApi20.Parameters.FooId)~System.Int64
+ LastMajorVersionBinary/Example.OpenApi20.dll
+ obj/net9.0/Example.OpenApi20.dll
+
+
+ CP0002
+ M:Example.OpenApi20.Parameters.FooId.op_Implicit(System.Int64)~Example.OpenApi20.Parameters.FooId
+ LastMajorVersionBinary/Example.OpenApi20.dll
+ obj/net9.0/Example.OpenApi20.dll
+
+
\ No newline at end of file
diff --git a/tests/Example.OpenApi20/Example.OpenApi20.csproj b/tests/Example.OpenApi20/Example.OpenApi20.csproj
index fb54a8e..8011bc2 100644
--- a/tests/Example.OpenApi20/Example.OpenApi20.csproj
+++ b/tests/Example.OpenApi20/Example.OpenApi20.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/tests/Example.OpenApi30/Example.OpenApi30.csproj b/tests/Example.OpenApi30/Example.OpenApi30.csproj
index 25e57fe..028e33f 100644
--- a/tests/Example.OpenApi30/Example.OpenApi30.csproj
+++ b/tests/Example.OpenApi30/Example.OpenApi30.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/tests/Example.OpenApi31/Example.OpenApi31.csproj b/tests/Example.OpenApi31/Example.OpenApi31.csproj
index d7cff7f..6e130fc 100644
--- a/tests/Example.OpenApi31/Example.OpenApi31.csproj
+++ b/tests/Example.OpenApi31/Example.OpenApi31.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/tests/Example.OpenApi32/Example.OpenApi32.csproj b/tests/Example.OpenApi32/Example.OpenApi32.csproj
index 9f7c92f..ac514fd 100644
--- a/tests/Example.OpenApi32/Example.OpenApi32.csproj
+++ b/tests/Example.OpenApi32/Example.OpenApi32.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/tests/OpenAPI.WebApiGenerator.Tests/OpenAPI.WebApiGenerator.Tests.csproj b/tests/OpenAPI.WebApiGenerator.Tests/OpenAPI.WebApiGenerator.Tests.csproj
index 7643ccf..4f1a955 100644
--- a/tests/OpenAPI.WebApiGenerator.Tests/OpenAPI.WebApiGenerator.Tests.csproj
+++ b/tests/OpenAPI.WebApiGenerator.Tests/OpenAPI.WebApiGenerator.Tests.csproj
@@ -8,7 +8,7 @@
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/tests/OpenAPI.WebApiGenerator.UnitTests/OpenAPI.WebApiGenerator.UnitTests.csproj b/tests/OpenAPI.WebApiGenerator.UnitTests/OpenAPI.WebApiGenerator.UnitTests.csproj
index be6fde6..c7be35e 100644
--- a/tests/OpenAPI.WebApiGenerator.UnitTests/OpenAPI.WebApiGenerator.UnitTests.csproj
+++ b/tests/OpenAPI.WebApiGenerator.UnitTests/OpenAPI.WebApiGenerator.UnitTests.csproj
@@ -8,7 +8,7 @@
-
+