From c39ab11553f29ed42e0ceefe63b8cfb41af7a654 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Fri, 6 Feb 2026 13:22:27 -0500 Subject: [PATCH 1/5] Upgrade to Visual Studio 2026 (v145 toolset) - Create Directory.Build.props for centralized build configuration - Update solution file to VS 18 format - Update .vsconfig to require Windows 11 SDK (10.0.22621.0) - Remove PlatformToolset and WindowsTargetPlatformVersion from mapistub.vcxproj - Remove Guardian .gdn ruleset references (CI-only dependency) Breaking change: Requires Visual Studio 2026 --- .vsconfig | 2 +- Directory.Build.props | 25 ++++++ mapistub.sln | 4 +- mapistub.vcxproj | 177 ------------------------------------------ 4 files changed, 28 insertions(+), 180 deletions(-) create mode 100644 Directory.Build.props diff --git a/.vsconfig b/.vsconfig index 77f62a5..da07a9d 100644 --- a/.vsconfig +++ b/.vsconfig @@ -29,7 +29,7 @@ "Microsoft.VisualStudio.Component.VC.Tools.ARM64", "Microsoft.VisualStudio.Component.VC.Tools.ARM64EC", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", - "Microsoft.VisualStudio.Component.Windows10SDK.18362", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native", "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core", "Microsoft.VisualStudio.Workload.CoreEditor", diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..273c79f --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,25 @@ + + + + + v145 + + + 10.0.22621.0 + + + Spectre + Guard + true + + + + + + Level4 + true + true + stdcpplatest + + + diff --git a/mapistub.sln b/mapistub.sln index 0551dde..13a02ef 100644 --- a/mapistub.sln +++ b/mapistub.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.779 +# Visual Studio Version 18 +VisualStudioVersion = 18.0.0.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapistub", "mapistub.vcxproj", "{ACD4DD9F-0FB8-42C8-BC1C-25A5A29CB40C}" EndProject diff --git a/mapistub.vcxproj b/mapistub.vcxproj index 1a0a120..8d6a8a9 100644 --- a/mapistub.vcxproj +++ b/mapistub.vcxproj @@ -120,55 +120,42 @@ {ACD4DD9F-0FB8-42C8-BC1C-25A5A29CB40C} mapistub - 10.0 StaticLibrary Unicode - v143 true - Spectre false StaticLibrary MultiByte - v143 true - Spectre false StaticLibrary MultiByte - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre true StaticLibrary Unicode - v143 false - Spectre true true true @@ -176,57 +163,43 @@ StaticLibrary MultiByte - v143 false - Spectre true StaticLibrary Unicode - v143 true - Spectre false StaticLibrary MultiByte - v143 true - Spectre false StaticLibrary MultiByte - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre true StaticLibrary Unicode - v143 false - Spectre true true true @@ -234,57 +207,43 @@ StaticLibrary MultiByte - v143 false - Spectre true StaticLibrary Unicode - v143 true - Spectre false StaticLibrary MultiByte - v143 true - Spectre false StaticLibrary MultiByte - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre true StaticLibrary Unicode - v143 false - Spectre true true true @@ -292,57 +251,43 @@ StaticLibrary MultiByte - v143 false - Spectre true StaticLibrary Unicode - v143 true - Spectre false StaticLibrary MultiByte - v143 true - Spectre false StaticLibrary MultiByte - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre false StaticLibrary Unicode - v143 false - Spectre true StaticLibrary Unicode - v143 false - Spectre true true true @@ -350,9 +295,7 @@ StaticLibrary MultiByte - v143 false - Spectre true @@ -462,11 +405,9 @@ true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset @@ -479,11 +420,9 @@ true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset @@ -499,11 +438,9 @@ true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset @@ -515,11 +452,9 @@ true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset true - ..\.gdn\i\nuget\Microsoft.Security.CodeAnalysis.PREfast.Cli.win-x64.1.6.0\tools\Sdl.Recommended.Warning.ruleset @@ -533,15 +468,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -564,15 +495,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -594,15 +521,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -625,15 +548,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -656,15 +575,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -686,15 +601,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -716,15 +627,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -745,15 +652,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -774,15 +677,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -803,15 +702,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -831,15 +726,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -859,15 +750,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -887,15 +774,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -916,15 +799,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -944,15 +823,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -975,15 +850,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -1005,15 +876,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -1036,15 +903,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -1067,15 +930,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -1097,15 +956,11 @@ true MultiThreaded true - Level4 - true ProgramDatabase true - true true Default true - stdcpplatest Guard @@ -1127,15 +982,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -1156,15 +1007,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -1185,15 +1032,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -1214,15 +1057,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -1242,15 +1081,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -1270,15 +1105,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true true - true false false - stdcpplatest Guard @@ -1298,15 +1129,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard @@ -1327,15 +1154,11 @@ true MultiThreadedDebug true - Level4 - true ProgramDatabase true - true false EnableFastChecks false - stdcpplatest Guard From 397ed259b457a3e2739a749b67865d5e696fed60 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Fri, 6 Feb 2026 15:42:47 -0500 Subject: [PATCH 2/5] ensure config --- .github/workflows/codeql.yml | 12 +++++++++++- .github/workflows/github-ci.yml | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c08e6ee..90e0db7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -15,7 +15,8 @@ permissions: jobs: analyze: name: Analyze (${{ matrix.language }}) - runs-on: windows-latest + # Use VS 2026 preview runner (GA May 4, 2026, then switch to windows-2025) + runs-on: windows-2025-vs2026 permissions: packages: read actions: read @@ -39,6 +40,15 @@ jobs: with: submodules: 'recursive' + - name: Install required VS components from .vsconfig + shell: pwsh + run: | + $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath + $installer = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" + Write-Host "Installing components from .vsconfig..." + & $installer modify --installPath $vsPath --config "${{ github.workspace }}\.vsconfig" --quiet --norestart --wait + Write-Host "VS components installation complete" + # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5 diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index 425a67b..96c4ffa 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -13,7 +13,8 @@ permissions: jobs: build: - runs-on: windows-latest + # Use VS 2026 preview runner (GA May 4, 2026, then switch to windows-2025) + runs-on: windows-2025-vs2026 permissions: security-events: write strategy: @@ -32,6 +33,15 @@ jobs: with: submodules: 'recursive' + - name: Install required VS components from .vsconfig + shell: pwsh + run: | + $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath + $installer = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" + Write-Host "Installing components from .vsconfig..." + & $installer modify --installPath $vsPath --config "${{ github.workspace }}\.vsconfig" --quiet --norestart --wait + Write-Host "VS components installation complete" + - name: "Build" shell: pwsh run: | From 7a8ec30e5cb07001de606ac07138a59fd83d2904 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Fri, 6 Feb 2026 15:47:10 -0500 Subject: [PATCH 3/5] install sdk --- .github/workflows/codeql.yml | 26 ++++++++++++++++++++------ .github/workflows/github-ci.yml | 26 ++++++++++++++++++++------ 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 90e0db7..dba2a31 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -40,14 +40,28 @@ jobs: with: submodules: 'recursive' - - name: Install required VS components from .vsconfig + - name: Install Windows 11 SDK (10.0.22621.0) shell: pwsh run: | - $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath - $installer = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" - Write-Host "Installing components from .vsconfig..." - & $installer modify --installPath $vsPath --config "${{ github.workspace }}\.vsconfig" --quiet --norestart --wait - Write-Host "VS components installation complete" + $sdkPath = "${env:ProgramFiles(x86)}\Windows Kits\10\Include\10.0.22621.0" + if (Test-Path $sdkPath) { + Write-Host "Windows SDK 10.0.22621.0 already installed" + exit 0 + } + Write-Host "Downloading Windows 11 SDK 10.0.22621.0..." + $installer = "$env:TEMP\winsdksetup.exe" + Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2196241" -OutFile $installer + Write-Host "Installing SDK (this may take a few minutes)..." + $proc = Start-Process -FilePath $installer -ArgumentList "/features OptionId.DesktopCPPx64 OptionId.DesktopCPPx86 /quiet /norestart /log $env:TEMP\sdk_install.log" -Wait -PassThru + Write-Host "Installer exit code: $($proc.ExitCode)" + if (Test-Path $sdkPath) { + Write-Host "Windows SDK 10.0.22621.0 installed successfully" + } else { + Write-Host "SDK install log:" + Get-Content "$env:TEMP\sdk_install.log" -ErrorAction SilentlyContinue | Select-Object -Last 50 + Write-Error "Windows SDK installation failed - path not found: $sdkPath" + exit 1 + } # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index 96c4ffa..8197f19 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -33,14 +33,28 @@ jobs: with: submodules: 'recursive' - - name: Install required VS components from .vsconfig + - name: Install Windows 11 SDK (10.0.22621.0) shell: pwsh run: | - $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath - $installer = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" - Write-Host "Installing components from .vsconfig..." - & $installer modify --installPath $vsPath --config "${{ github.workspace }}\.vsconfig" --quiet --norestart --wait - Write-Host "VS components installation complete" + $sdkPath = "${env:ProgramFiles(x86)}\Windows Kits\10\Include\10.0.22621.0" + if (Test-Path $sdkPath) { + Write-Host "Windows SDK 10.0.22621.0 already installed" + exit 0 + } + Write-Host "Downloading Windows 11 SDK 10.0.22621.0..." + $installer = "$env:TEMP\winsdksetup.exe" + Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2196241" -OutFile $installer + Write-Host "Installing SDK (this may take a few minutes)..." + $proc = Start-Process -FilePath $installer -ArgumentList "/features OptionId.DesktopCPPx64 OptionId.DesktopCPPx86 /quiet /norestart /log $env:TEMP\sdk_install.log" -Wait -PassThru + Write-Host "Installer exit code: $($proc.ExitCode)" + if (Test-Path $sdkPath) { + Write-Host "Windows SDK 10.0.22621.0 installed successfully" + } else { + Write-Host "SDK install log:" + Get-Content "$env:TEMP\sdk_install.log" -ErrorAction SilentlyContinue | Select-Object -Last 50 + Write-Error "Windows SDK installation failed - path not found: $sdkPath" + exit 1 + } - name: "Build" shell: pwsh From f8efc98aac16244962fbe43406e56569af20c9d1 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Fri, 6 Feb 2026 15:57:29 -0500 Subject: [PATCH 4/5] update codeql --- .github/workflows/clang.yml | 2 +- .github/workflows/codeql.yml | 6 +++--- .github/workflows/devskim.yml | 4 ++-- .github/workflows/github-ci.yml | 2 +- .github/workflows/scorecards.yml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml index ed49e20..4c40cf6 100644 --- a/.github/workflows/clang.yml +++ b/.github/workflows/clang.yml @@ -24,4 +24,4 @@ jobs: with: clang-format-version: '17' exclude-regex: 'include/*' - fallback-style: 'Microsoft' \ No newline at end of file + fallback-style: 'Microsoft' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index dba2a31..f7da21d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -65,7 +65,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5 + uses: github/codeql-action/init@b5ebac6f4c00c8ccddb7cdcd45fdb248329f808a # v3.32.2 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} @@ -77,11 +77,11 @@ jobs: # queries: security-extended,security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5 + uses: github/codeql-action/autobuild@b5ebac6f4c00c8ccddb7cdcd45fdb248329f808a # v3.32.2 - name: Perform CodeQL Analysis id: analyze - uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5 + uses: github/codeql-action/analyze@b5ebac6f4c00c8ccddb7cdcd45fdb248329f808a # v3.32.2 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/devskim.yml b/.github/workflows/devskim.yml index 798fe2e..b650e33 100644 --- a/.github/workflows/devskim.yml +++ b/.github/workflows/devskim.yml @@ -29,11 +29,11 @@ jobs: uses: microsoft/DevSkim-Action@4b5047945a44163b94642a1cecc0d93a3f428cc6 # v1.0.16 - name: Upload DevSkim scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5 + uses: github/codeql-action/upload-sarif@b5ebac6f4c00c8ccddb7cdcd45fdb248329f808a # v3.32.2 with: sarif_file: devskim-results.sarif - name: Upload DevSkim scan results as an artifact uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: - path: devskim-results.sarif \ No newline at end of file + path: devskim-results.sarif diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index 8197f19..eceb64e 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -87,4 +87,4 @@ jobs: - name: Publish Test Results uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0 with: - files: "artifacts/**/*.trx" \ No newline at end of file + files: "artifacts/**/*.trx" diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 5d28141..454041f 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -71,6 +71,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5 + uses: github/codeql-action/upload-sarif@b5ebac6f4c00c8ccddb7cdcd45fdb248329f808a # v3.32.2 with: sarif_file: results.sarif From 2405bc043c470259a3c30a51dbda4db33ae24be6 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Fri, 6 Feb 2026 18:14:05 -0500 Subject: [PATCH 5/5] add arm builds --- Directory.Build.props | 14 ++++++- mapistub.vcxproj | 87 +------------------------------------------ 2 files changed, 15 insertions(+), 86 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 273c79f..77d0167 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,9 +8,14 @@ 10.0.22621.0 - Spectre + + Spectre + false Guard true + + + @@ -22,4 +27,11 @@ stdcpplatest + + + + + false + + diff --git a/mapistub.vcxproj b/mapistub.vcxproj index 8d6a8a9..9bbe91b 100644 --- a/mapistub.vcxproj +++ b/mapistub.vcxproj @@ -20,14 +20,6 @@ Debug x64 - - Fuzz - ARM64 - - - Fuzz - ARM64EC - Fuzz Win32 @@ -157,7 +149,7 @@ Unicode false true - true + true true @@ -201,7 +193,7 @@ Unicode false true - true + true true @@ -240,14 +232,6 @@ false true - - StaticLibrary - Unicode - false - true - true - true - StaticLibrary MultiByte @@ -284,14 +268,6 @@ false true - - StaticLibrary - Unicode - false - true - true - true - StaticLibrary MultiByte @@ -360,9 +336,6 @@ - - - @@ -381,9 +354,6 @@ - - - @@ -895,33 +865,6 @@ true - - - MaxSpeed - $(SolutionDir)\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions) - true - MultiThreaded - true - ProgramDatabase - true - true - Default - true - Guard - - - _AFXDLL;NDEBUG;_WIN64;%(PreprocessorDefinitions) - - - /safeseh %(AdditionalOptions) - true - Windows - true - true - true - - MaxSpeed @@ -948,32 +891,6 @@ true - - - MaxSpeed - $(SolutionDir)\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions) - true - MultiThreaded - true - ProgramDatabase - true - true - Default - true - Guard - - - _AFXDLL;NDEBUG;_WIN64;%(PreprocessorDefinitions) - - - true - Windows - true - true - true - - Disabled