|
19 | 19 | Configuration Manager to the x64 platform. Both are required. --> |
20 | 20 | <Platforms>x64</Platforms> |
21 | 21 | <PlatformTarget>x64</PlatformTarget> |
22 | | - <Version>6.27.0</Version> |
23 | | - <AssemblyVersion>6.27.0.0</AssemblyVersion> |
24 | | - <FileVersion>6.27.0.0</FileVersion> |
25 | | - <InformationalVersion>6.27.0</InformationalVersion> |
| 22 | + <Version>6.28.0</Version> |
| 23 | + <AssemblyVersion>6.28.0.0</AssemblyVersion> |
| 24 | + <FileVersion>6.28.0.0</FileVersion> |
| 25 | + <InformationalVersion>6.28.0</InformationalVersion> |
26 | 26 | <Deterministic>true</Deterministic> |
27 | 27 | <ContinuousIntegrationBuild Condition="'$(GITHUB_ACTIONS)' == 'true'">true</ContinuousIntegrationBuild> |
28 | 28 | <TieredCompilation>true</TieredCompilation> |
29 | 29 | <TieredPGO>true</TieredPGO> |
30 | | - <!-- Quick JIT for loops: allows tier-0 compilation of loop-bearing methods |
| 30 | + <!-- Quick JIT for loops: allows tier-0 compilation of loop-bearing methods |
31 | 31 | for faster startup. Tiered PGO re-compiles hot methods to optimised |
32 | 32 | native code after profiling — so initial speed cost is temporary. --> |
33 | 33 | <TieredCompilation_QuickJitForLoops>true</TieredCompilation_QuickJitForLoops> |
34 | | - <!-- ReadyToRun: ahead-of-time compile during publish for faster cold-start |
| 34 | + <!-- ReadyToRun: ahead-of-time compile during publish for faster cold-start |
35 | 35 | (~200-400ms improvement). Only applies to dotnet publish -r win-x64. --> |
36 | 36 | <PublishReadyToRun>true</PublishReadyToRun> |
37 | | - <!-- ── Build output redirection (OneDrive lock workaround) ───────────── |
| 37 | + <!-- ── Build output redirection (OneDrive lock workaround) ───────────── |
38 | 38 | Redirect obj/ and bin/ to %TEMP%\RegiLattice-build\<ProjectName> so |
39 | 39 | MSBuild never touches OneDrive-synced paths during compilation. |
40 | 40 | This eliminates AssemblyInfoInputs.cache locking, Roslyn server file- |
|
46 | 46 |
|
47 | 47 | CI: GITHUB_ACTIONS is always set, so the same env-var expansion works |
48 | 48 | on both developer machines and GitHub Actions runners automatically. --> |
49 | | - <!-- STRYKER_BUILD=1 disables the temp-path redirect so Stryker's Buildalyzer |
| 49 | + <!-- STRYKER_BUILD=1 disables the temp-path redirect so Stryker's Buildalyzer |
50 | 50 | can analyze the project with standard local bin/obj paths. --> |
51 | 51 | <RegiLatticeLocalBuildRoot Condition="'$(STRYKER_BUILD)' == ''">$(TEMP)\RegiLattice-build\$(MSBuildProjectName)</RegiLatticeLocalBuildRoot> |
52 | 52 | <BaseIntermediateOutputPath Condition="'$(STRYKER_BUILD)' == ''">$(RegiLatticeLocalBuildRoot)\obj\</BaseIntermediateOutputPath> |
53 | 53 | <BaseOutputPath Condition="'$(STRYKER_BUILD)' == ''">$(RegiLatticeLocalBuildRoot)\bin\</BaseOutputPath> |
54 | 54 |
|
55 | | - <!-- Keep UseSharedCompilation=false as a belt-and-suspenders guard for |
| 55 | + <!-- Keep UseSharedCompilation=false as a belt-and-suspenders guard for |
56 | 56 | any edge cases where the above redirect does not apply (e.g. custom |
57 | 57 | project files that override BaseIntermediateOutputPath). --> |
58 | 58 | <UseSharedCompilation>false</UseSharedCompilation> |
59 | 59 |
|
60 | | - <!-- Exclude local obj/ and bin/ directories from compile globs. |
| 60 | + <!-- Exclude local obj/ and bin/ directories from compile globs. |
61 | 61 | The SDK normally excludes $(BaseIntermediateOutputPath)** and |
62 | 62 | $(BaseOutputPath)** from Compile/Content/None globs. After |
63 | 63 | redirecting those paths to %TEMP%, the old in-repo obj/ and bin/ |
|
68 | 68 | <DefaultItemExcludes>$(DefaultItemExcludes);obj/**;bin/**</DefaultItemExcludes> |
69 | 69 | </PropertyGroup> |
70 | 70 |
|
71 | | - <!-- ── Release publish optimizations ─────────────────────────────────── --> |
72 | | - <!-- These properties only affect `dotnet publish -c Release`. They have |
| 71 | + <!-- ── Release publish optimizations ─────────────────────────────────── --> |
| 72 | + <!-- These properties only affect `dotnet publish -c Release`. They have |
73 | 73 | no effect on Debug builds, `dotnet build`, or `dotnet test`. --> |
74 | 74 | <PropertyGroup Condition="'$(Configuration)' == 'Release' and '$(UsingMicrosoftNETSdk)' == 'true'"> |
75 | | - <!-- Embedded PDB: debug info baked into the assembly — no loose .pdb |
| 75 | + <!-- Embedded PDB: debug info baked into the assembly — no loose .pdb |
76 | 76 | files in publish output. Still provides full stack traces. --> |
77 | 77 | <DebugType>embedded</DebugType> |
78 | 78 |
|
79 | | - <!-- NOTE: IL trimming (PublishTrimmed) is set per-project, not here. |
| 79 | + <!-- NOTE: IL trimming (PublishTrimmed) is set per-project, not here. |
80 | 80 | WinForms blocks trimming entirely (NETSDK1175). CLI.csproj enables |
81 | 81 | it; GUI.csproj does not. --> |
82 | 82 |
|
83 | | - <!-- Compress the single-file bundle for ~40% smaller download. |
| 83 | + <!-- Compress the single-file bundle for ~40% smaller download. |
84 | 84 | First launch decompresses to a temp cache (~200ms one-time cost); |
85 | 85 | subsequent launches use the cached extraction. --> |
86 | 86 | <EnableCompressionInSingleFile>true</EnableCompressionInSingleFile> |
87 | 87 |
|
88 | | - <!-- Strip native debug symbols from ReadyToRun pre-compiled images. --> |
| 88 | + <!-- Strip native debug symbols from ReadyToRun pre-compiled images. --> |
89 | 89 | <StripSymbols>true</StripSymbols> |
90 | 90 |
|
91 | | - <!-- ── Feature switches ──────────────────────────────────────────── |
| 91 | + <!-- ── Feature switches ──────────────────────────────────────────── |
92 | 92 | Disable unused runtime subsystems so the linker can remove them. |
93 | 93 | Each switch reduces binary size and memory footprint. --> |
94 | 94 |
|
95 | | - <!-- Hot reload is a dev-time feature — not needed in release binaries. --> |
| 95 | + <!-- Hot reload is a dev-time feature — not needed in release binaries. --> |
96 | 96 | <MetadataUpdaterSupport>false</MetadataUpdaterSupport> |
97 | 97 |
|
98 | | - <!-- Distributed tracing activity propagation — not used. --> |
| 98 | + <!-- Distributed tracing activity propagation — not used. --> |
99 | 99 | <HttpActivityPropagationSupport>false</HttpActivityPropagationSupport> |
100 | 100 |
|
101 | | - <!-- BinaryFormatter is deprecated, dangerous, and not used (project |
| 101 | + <!-- BinaryFormatter is deprecated, dangerous, and not used (project |
102 | 102 | uses System.Text.Json). Disabling hardens against deserialization |
103 | 103 | attacks and lets the linker trim the formatter code. --> |
104 | 104 | <EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization> |
105 | 105 |
|
106 | | - <!-- Startup hooks are a diagnostic/testing mechanism — not needed in |
| 106 | + <!-- Startup hooks are a diagnostic/testing mechanism — not needed in |
107 | 107 | release binaries. Disabling removes the hook discovery overhead. --> |
108 | 108 | <StartupHookSupport>false</StartupHookSupport> |
109 | 109 |
|
110 | | - <!-- EventSource tracing infrastructure — not used by this project. |
| 110 | + <!-- EventSource tracing infrastructure — not used by this project. |
111 | 111 | Disabling removes ETW event-pipe initialization at startup. --> |
112 | 112 | <EventSourceSupport>false</EventSourceSupport> |
113 | 113 |
|
114 | | - <!-- Optimize for speed over size in Release. Enables aggressive inlining, |
| 114 | + <!-- Optimize for speed over size in Release. Enables aggressive inlining, |
115 | 115 | loop optimizations, and larger method bodies in R2R pre-compilation. --> |
116 | 116 | <OptimizationPreference>Speed</OptimizationPreference> |
117 | 117 | </PropertyGroup> |
|
0 commit comments