From 58de9cc959d5965303f2edfb6f4ba8936671283b Mon Sep 17 00:00:00 2001 From: woksin Date: Wed, 12 Aug 2026 00:45:34 +0200 Subject: [PATCH 1/2] Drop the redundant type attribute that breaks the Release build Roslynator 4.16.0 promoted RCS1258 to flag TypeAttributes.Class beside TypeAttributes.Public. Class is zero, so naming it changes nothing about the emitted type - but Release treats warnings as errors, so main has not built in Release since the analyzer bump. --- Source/Stage/Api/DynamicTypeFactory.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Stage/Api/DynamicTypeFactory.cs b/Source/Stage/Api/DynamicTypeFactory.cs index c5e0e5c..52d7a31 100644 --- a/Source/Stage/Api/DynamicTypeFactory.cs +++ b/Source/Stage/Api/DynamicTypeFactory.cs @@ -53,7 +53,9 @@ Type CreateType(string fullName, Type baseType) return existing; } - var typeBuilder = _module.DefineType(fullName, TypeAttributes.Public | TypeAttributes.Class, baseType); + // TypeAttributes.Class is zero — naming it beside Public says nothing the default does not already + // say, and Roslynator flags the redundant flag as an error in Release. + var typeBuilder = _module.DefineType(fullName, TypeAttributes.Public, baseType); // Emit a public parameterless constructor chaining to the base so the JSON deserializer can instantiate it. var constructor = typeBuilder.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, Type.EmptyTypes); From b197840044c055b1c4bab2224b45c8d8fb06d9b1 Mon Sep 17 00:00:00 2001 From: woksin Date: Wed, 12 Aug 2026 01:12:29 +0200 Subject: [PATCH 2/2] Stop pinning the compiler toolset so the SDK's analyzers can load MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The runner's SDK moved to 10.0.400, whose codestyle analyzers reference Roslyn 5.9. Microsoft.Net.Compilers.Toolset was pinned to 5.6.0 — the newest published — so every build failed with CS9057 before reaching any source. Arc does not pin the toolset and builds green on the same image. The pin arrived with the repository scaffolding rather than to satisfy a known compatibility need, so dropping it restores the SDK's own compiler and removes the class of failure. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LbPSU657Hg53GWXhYq74DN --- Directory.Build.props | 1 - Directory.Packages.props | 1 - 2 files changed, 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 5b7bc41..302df1c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -39,6 +39,5 @@ - diff --git a/Directory.Packages.props b/Directory.Packages.props index 42e7f5a..d8e8f29 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -29,7 +29,6 @@ -