Add VS 2026 (v145) and WDK 10.0.28000.1839 support#309
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the MSBuild/Visual Studio project configuration to support building usersim with Visual Studio 2026 (v145) and WDK 10.0.28000.1839, while retaining compatibility with VS 2022 (v143) / WDK 10.0.26100.4204 by centralizing version/toolset selection in shared MSBuild properties.
Changes:
- Adds VS-version-conditioned properties in
wdk.propsfor Windows SDK target version, WDK NuGet version, and platform toolset. - Replaces hardcoded
10.0.26100.0include paths in multiple.vcxprojfiles with$(WindowsTargetPlatformVersion)-based paths. - Updates
cxplat_winkernelNuGet package configuration to include the newer WDK package version.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| wdk.props | Introduces conditional properties for SDK/WDK/toolset selection based on Visual Studio version. |
| usersim_dll_skeleton/usersim_dll_skeleton.vcxproj | Uses centralized WindowsTargetPlatformVersion and PlatformToolset; updates WDK include path. |
| tests/tests.vcxproj | Uses centralized WindowsTargetPlatformVersion and PlatformToolset; updates WDK include path. |
| src/usersim.vcxproj | Uses centralized WindowsTargetPlatformVersion and PlatformToolset; updates WDK include path across configs. |
| setup_build/setup_build.vcxproj | Uses centralized WindowsTargetPlatformVersion and PlatformToolset for the setup project. |
| sample/sample.vcxproj | Uses centralized WindowsTargetPlatformVersion and PlatformToolset; updates WDK include path. |
| cxplat/src/cxplat_winuser/cxplat_winuser.vcxproj | Switches WindowsTargetPlatformVersion and PlatformToolset to centralized properties. |
| cxplat/src/cxplat_winkernel/packages.config | Adds WDK 10.0.28000.1839 entries alongside existing ones for restore. |
| cxplat/src/cxplat_winkernel/cxplat_winkernel.vcxproj | Switches WindowsTargetPlatformVersion to centralized property for the driver project. |
| cxplat/cxplat_test/cxplat_test.vcxproj | Switches WindowsTargetPlatformVersion/PlatformToolset to centralized properties; adjusts config blocks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
|
The README should be updated explaining how this PR adds VS 2026 support. |
nmlud21
reviewed
Jun 15, 2026
- Define UsersimWindowsTargetPlatformVersion and UsersimPlatformToolset in wdk.props - Make WindowsTargetPlatformVersion conditional across all vcxproj files - Replace hardcoded include paths with $(WindowsTargetPlatformVersion) - Add WDK 10.0.28000.1839 to packages.config for VS 18/MSBuild 18 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Nicholas Ludwig <nludwig@microsoft.com>
- Remove redundant packages.config from cxplat_winkernel; the project already restores via wdk.props PackageReference with conditional UsersimWDKVersion, so version selection varies by VisualStudioVersion without duplicate package IDs. - Add VS 2026 (toolset v145 / WDK 10.0.28000) support to the CMake build by selecting NuGet/WDK versions from MSVC_TOOLSET_VERSION. - Restore original line endings/BOM for sample.vcxproj and setup_build.vcxproj so the diff is limited to the property changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
LakshK98
approved these changes
Jun 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR enables building usersim with Visual Studio 2026 (toolset v145, WDK 10.0.28000.1839) while maintaining compatibility with VS 2022 (v143, WDK 10.0.26100.4204).
Changes:
CMake build
NuGet restore
Documentation
No changes are being made to the CI pipeline.