From acb87a0024ac2ea013f00bbc25f9f36d4ba13f9f Mon Sep 17 00:00:00 2001 From: KaliCZ Date: Fri, 17 Jul 2026 16:45:04 +0200 Subject: [PATCH] Split code fixers into their own assembly and move to Roslyn 5.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The command-line compiler ships only the compiler-layer Roslyn assemblies, so an analyzer assembly that references Microsoft.CodeAnalysis.Workspaces risks failing to load outside the IDE (CS8032), silently disabling the diagnostics in CI. The code-fix providers now live in a separate StrongTypes.Analyzers.CodeFixes assembly that carries the Workspaces reference; the analyzer assembly references only Microsoft.CodeAnalysis.CSharp. Both DLLs still ship in the main package under analyzers/dotnet/cs. Since the library targets net10.0 only, every consumer's compiler is at least Roslyn 5.0 — pinning 4.11.0 bought no compatibility, so the analyzer, code-fix, source-generator, and test projects now build against Microsoft.CodeAnalysis 5.0.0. Co-Authored-By: Claude Fable 5 --- StrongTypes.slnx | 1 + codecov.yml | 2 +- .../AddEfCorePackageCodeFixProvider.cs | 0 .../AddOpenApiPackageCodeFixProvider.cs | 0 .../StrongTypes.Analyzers.CodeFixes.csproj | 18 ++++++++++++++++++ .../UseBindStrongTypesCodeFixProvider.cs | 0 .../StrongTypes.Analyzers.Tests.csproj | 12 ++++++++---- .../StrongTypes.Analyzers.csproj | 3 +-- .../StrongTypes.SourceGenerators.csproj | 2 +- src/StrongTypes/StrongTypes.csproj | 15 +++++++++++---- 10 files changed, 41 insertions(+), 12 deletions(-) rename src/{StrongTypes.Analyzers => StrongTypes.Analyzers.CodeFixes}/AddEfCorePackageCodeFixProvider.cs (100%) rename src/{StrongTypes.Analyzers => StrongTypes.Analyzers.CodeFixes}/AddOpenApiPackageCodeFixProvider.cs (100%) create mode 100644 src/StrongTypes.Analyzers.CodeFixes/StrongTypes.Analyzers.CodeFixes.csproj rename src/{StrongTypes.Analyzers => StrongTypes.Analyzers.CodeFixes}/UseBindStrongTypesCodeFixProvider.cs (100%) diff --git a/StrongTypes.slnx b/StrongTypes.slnx index 5aeda2f2..79137c5e 100644 --- a/StrongTypes.slnx +++ b/StrongTypes.slnx @@ -31,6 +31,7 @@ + diff --git a/codecov.yml b/codecov.yml index 16fc2e95..15aab7b3 100644 --- a/codecov.yml +++ b/codecov.yml @@ -13,7 +13,7 @@ component_management: paths: ["src/StrongTypes/**"] - component_id: analyzers name: StrongTypes.Analyzers - paths: ["src/StrongTypes.Analyzers/**"] + paths: ["src/StrongTypes.Analyzers/**", "src/StrongTypes.Analyzers.CodeFixes/**"] - component_id: efcore name: StrongTypes.EfCore paths: ["src/StrongTypes.EfCore/**"] diff --git a/src/StrongTypes.Analyzers/AddEfCorePackageCodeFixProvider.cs b/src/StrongTypes.Analyzers.CodeFixes/AddEfCorePackageCodeFixProvider.cs similarity index 100% rename from src/StrongTypes.Analyzers/AddEfCorePackageCodeFixProvider.cs rename to src/StrongTypes.Analyzers.CodeFixes/AddEfCorePackageCodeFixProvider.cs diff --git a/src/StrongTypes.Analyzers/AddOpenApiPackageCodeFixProvider.cs b/src/StrongTypes.Analyzers.CodeFixes/AddOpenApiPackageCodeFixProvider.cs similarity index 100% rename from src/StrongTypes.Analyzers/AddOpenApiPackageCodeFixProvider.cs rename to src/StrongTypes.Analyzers.CodeFixes/AddOpenApiPackageCodeFixProvider.cs diff --git a/src/StrongTypes.Analyzers.CodeFixes/StrongTypes.Analyzers.CodeFixes.csproj b/src/StrongTypes.Analyzers.CodeFixes/StrongTypes.Analyzers.CodeFixes.csproj new file mode 100644 index 00000000..d04cabeb --- /dev/null +++ b/src/StrongTypes.Analyzers.CodeFixes/StrongTypes.Analyzers.CodeFixes.csproj @@ -0,0 +1,18 @@ + + + netstandard2.0 + latest + enable + true + true + false + true + false + + + + + + + + diff --git a/src/StrongTypes.Analyzers/UseBindStrongTypesCodeFixProvider.cs b/src/StrongTypes.Analyzers.CodeFixes/UseBindStrongTypesCodeFixProvider.cs similarity index 100% rename from src/StrongTypes.Analyzers/UseBindStrongTypesCodeFixProvider.cs rename to src/StrongTypes.Analyzers.CodeFixes/UseBindStrongTypesCodeFixProvider.cs diff --git a/src/StrongTypes.Analyzers.Tests/StrongTypes.Analyzers.Tests.csproj b/src/StrongTypes.Analyzers.Tests/StrongTypes.Analyzers.Tests.csproj index 09a8d51f..3d279857 100644 --- a/src/StrongTypes.Analyzers.Tests/StrongTypes.Analyzers.Tests.csproj +++ b/src/StrongTypes.Analyzers.Tests/StrongTypes.Analyzers.Tests.csproj @@ -12,8 +12,8 @@ true - - + + @@ -21,11 +21,15 @@ - + + diff --git a/src/StrongTypes.Analyzers/StrongTypes.Analyzers.csproj b/src/StrongTypes.Analyzers/StrongTypes.Analyzers.csproj index 64ea48ec..adc49a1f 100644 --- a/src/StrongTypes.Analyzers/StrongTypes.Analyzers.csproj +++ b/src/StrongTypes.Analyzers/StrongTypes.Analyzers.csproj @@ -10,8 +10,7 @@ false - - + diff --git a/src/StrongTypes.SourceGenerators/StrongTypes.SourceGenerators.csproj b/src/StrongTypes.SourceGenerators/StrongTypes.SourceGenerators.csproj index d6d5a6de..dfbd3fd2 100644 --- a/src/StrongTypes.SourceGenerators/StrongTypes.SourceGenerators.csproj +++ b/src/StrongTypes.SourceGenerators/StrongTypes.SourceGenerators.csproj @@ -10,6 +10,6 @@ false - + diff --git a/src/StrongTypes/StrongTypes.csproj b/src/StrongTypes/StrongTypes.csproj index aeeb95c0..a8b1b572 100644 --- a/src/StrongTypes/StrongTypes.csproj +++ b/src/StrongTypes/StrongTypes.csproj @@ -27,14 +27,17 @@ - + + @@ -42,6 +45,10 @@ Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" /> +