diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ff21958..0baf87a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,6 +17,8 @@ jobs:
steps:
- uses: actions/checkout@v7
+ with:
+ fetch-depth: '0'
- name: Setup .NET
uses: actions/setup-dotnet@v6
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7f643f7..3bab96b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -32,6 +32,9 @@ jobs:
dotnet-version: |
11.0.x
+ - name: Restore tools
+ run: dotnet tool restore
+
- name: Restore dependencies
run: dotnet restore
- name: Build
@@ -39,6 +42,8 @@ jobs:
- name: Package
run: dotnet pack -c Release --no-build --property:PackageOutputPath=../../nupkgs
+ - name: Validate Package
+ run: dotnet tool run dotnet-validate -- package local ./nupkgs/*.nupkg
- name: NuGet login (OIDC → temp API key)
uses: NuGet/login@v1
diff --git a/Directory.Build.props b/Directory.Build.props
index 179d532..1799631 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,6 +1,6 @@
- net8.0;net9.0;net10.0;net11.0
+ net8.0;net10.0;net11.0
latest
enable
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 0ed37f8..83cbe17 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -5,7 +5,7 @@
-
+
@@ -34,14 +34,6 @@
-
-
-
-
-
-
-
-
@@ -51,27 +43,20 @@
-
+
-
+
-
-
-
-
-
-
-
@@ -79,7 +64,7 @@
-
+
diff --git a/src/Immediate.Apis.Analyzers/Immediate.Apis.Analyzers.csproj b/src/Immediate.Apis.Analyzers/Immediate.Apis.Analyzers.csproj
index 284b085..5094536 100644
--- a/src/Immediate.Apis.Analyzers/Immediate.Apis.Analyzers.csproj
+++ b/src/Immediate.Apis.Analyzers/Immediate.Apis.Analyzers.csproj
@@ -1,7 +1,7 @@
- netstandard2.0;net10.0
+ roslyn4.8;roslyn5.0;roslyn5.9
true
true
@@ -15,4 +15,22 @@
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
diff --git a/src/Immediate.Apis.CodeFixes/Immediate.Apis.CodeFixes.csproj b/src/Immediate.Apis.CodeFixes/Immediate.Apis.CodeFixes.csproj
index 5a61a5d..442f939 100644
--- a/src/Immediate.Apis.CodeFixes/Immediate.Apis.CodeFixes.csproj
+++ b/src/Immediate.Apis.CodeFixes/Immediate.Apis.CodeFixes.csproj
@@ -1,11 +1,15 @@
- netstandard2.0
+ roslyn4.8;roslyn5.0;roslyn5.9
true
true
+
+
+
+
@@ -16,4 +20,22 @@
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
diff --git a/src/Immediate.Apis.Generators/Immediate.Apis.Generators.csproj b/src/Immediate.Apis.Generators/Immediate.Apis.Generators.csproj
index 3a14f50..9a95e21 100644
--- a/src/Immediate.Apis.Generators/Immediate.Apis.Generators.csproj
+++ b/src/Immediate.Apis.Generators/Immediate.Apis.Generators.csproj
@@ -1,48 +1,66 @@
- netstandard2.0;net10.0
+ roslyn4.8;roslyn5.0;roslyn5.9
true
- true
+ true
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
true
$(DefineConstants);SCRIBAN_NO_ASYNC
-
+
-
+
$(GetTargetPathDependsOn);GetDependencyTargetPaths
-
+
+
+ .NETStandard
+ v2.0
+ .NETStandard,Version=v2.0
+
+
+
+ .NETCoreApp
+ v10.0
+ .NETCoreApp,Version=v10.0
+
+
+
+ .NETCoreApp
+ v10.0
+ .NETCoreApp,Version=v10.0
+
+
diff --git a/src/Immediate.Apis/Immediate.Apis.csproj b/src/Immediate.Apis/Immediate.Apis.csproj
index e4fd5a7..1579698 100644
--- a/src/Immediate.Apis/Immediate.Apis.csproj
+++ b/src/Immediate.Apis/Immediate.Apis.csproj
@@ -1,9 +1,11 @@
- net8.0;net9.0;net10.0;net11.0
true
false
+
+ true
+ 6.0.0
@@ -43,57 +45,95 @@
PackagePath="lib/$(TargetFramework)" />
-
-
-
+
-
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+ roslyn4.8
+ roslyn5.0
+ roslyn5.9
+
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
diff --git a/tests/Immediate.Apis.FunctionalTests.Scalar/Immediate.Apis.FunctionalTests.Scalar.csproj b/tests/Immediate.Apis.FunctionalTests.Scalar/Immediate.Apis.FunctionalTests.Scalar.csproj
index c8436f5..d6e2fbd 100644
--- a/tests/Immediate.Apis.FunctionalTests.Scalar/Immediate.Apis.FunctionalTests.Scalar.csproj
+++ b/tests/Immediate.Apis.FunctionalTests.Scalar/Immediate.Apis.FunctionalTests.Scalar.csproj
@@ -1,27 +1,41 @@
-
+
- net10.0
-
-
- $(NoWarn);NU1903
+ net10.0;net11.0
+
+
+
+
+
+
-
-
-
+
+ roslyn4.8
+ roslyn5.0
+ roslyn5.9
+
+
-
-
-
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+ TargetFramework=$(RoslynVersion)
+
diff --git a/tests/Immediate.Apis.FunctionalTests.Swagger/Immediate.Apis.FunctionalTests.Swagger.csproj b/tests/Immediate.Apis.FunctionalTests.Swagger/Immediate.Apis.FunctionalTests.Swagger.csproj
index 783b278..357c4a6 100644
--- a/tests/Immediate.Apis.FunctionalTests.Swagger/Immediate.Apis.FunctionalTests.Swagger.csproj
+++ b/tests/Immediate.Apis.FunctionalTests.Swagger/Immediate.Apis.FunctionalTests.Swagger.csproj
@@ -1,20 +1,33 @@
-
- net8.0;net9.0;net10.0
-
+
+
+
+
+
-
-
-
+
+ roslyn4.8
+ roslyn5.0
+ roslyn5.9
+
+
-
-
-
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+ TargetFramework=$(RoslynVersion)
+
diff --git a/tests/Immediate.Apis.Tests/Immediate.Apis.Tests.csproj b/tests/Immediate.Apis.Tests/Immediate.Apis.Tests.csproj
index 81dfdd2..e9c3028 100644
--- a/tests/Immediate.Apis.Tests/Immediate.Apis.Tests.csproj
+++ b/tests/Immediate.Apis.Tests/Immediate.Apis.Tests.csproj
@@ -2,8 +2,10 @@
Exe
-
- $(NoWarn);NU1603
+
+
+
+ runtime-async=on
@@ -47,10 +49,31 @@
-
-
-
-
+
+
+
+ roslyn4.8
+ roslyn5.0
+ roslyn5.9
+
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+
+ TargetFramework=$(RoslynVersion)
+
+
+
+