build(battleengine): pin LangVersion 12.0 (was 'latest') so C# 14's 'field' keyword doesn't break the decompiled engine under newer SDKs

This commit is contained in:
gamer147
2026-06-07 08:03:01 -04:00
parent 25751462f4
commit 2a8c44a6d7
2 changed files with 9 additions and 2 deletions

View File

@@ -5,7 +5,9 @@
<!-- Match the engine: decompiled types are not nullable-clean and use explicit usings. --> <!-- Match the engine: decompiled types are not nullable-clean and use explicit usings. -->
<Nullable>disable</Nullable> <Nullable>disable</Nullable>
<ImplicitUsings>disable</ImplicitUsings> <ImplicitUsings>disable</ImplicitUsings>
<LangVersion>latest</LangVersion> <!-- Pinned to 12.0 (net8.0 default) to match SVSim.BattleEngine; see the rationale there
(the vendored decompiled engine breaks under C# 14's 'field' contextual keyword). -->
<LangVersion>12.0</LangVersion>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject> <IsTestProject>true</IsTestProject>
</PropertyGroup> </PropertyGroup>

View File

@@ -5,7 +5,12 @@
<!-- Decompiled code is not nullable-clean and uses explicit usings. --> <!-- Decompiled code is not nullable-clean and uses explicit usings. -->
<Nullable>disable</Nullable> <Nullable>disable</Nullable>
<ImplicitUsings>disable</ImplicitUsings> <ImplicitUsings>disable</ImplicitUsings>
<LangVersion>latest</LangVersion> <!-- Pinned to 12.0 (net8.0 default), NOT 'latest': the vendored decompiled engine uses identifiers
that later C# versions promoted to contextual keywords (e.g. 'field' is a string member used inside
a property accessor in EventDelegate.cs). Under 'latest' + a newer SDK (Rider's .NET 10 -> C# 14)
'field' rebinds to the synthesized backing field, breaking the build (CS1503). Pinning keeps the
decompiled source compiling as written regardless of the installed SDK. -->
<LangVersion>12.0</LangVersion>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- Decompiled code triggers many benign warnings; do not fail on them. --> <!-- Decompiled code triggers many benign warnings; do not fail on them. -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors> <TreatWarningsAsErrors>false</TreatWarningsAsErrors>