Remove leftover cswinmd tool and related artifacts#2408
Merged
Conversation
Sergio0694
enabled auto-merge (squash)
April 26, 2026 17:34
manodasanW
approved these changes
Apr 29, 2026
Sergio0694
force-pushed
the
user/sergiopedri/delete-cswinmd
branch
from
April 30, 2026 12:30
ccdc598 to
8df2138
Compare
Remove the legacy CsWinMD authoring tool and its tests, and update build/CI and docs to use the new WinMD authoring targets. Deleted CsWinMD project, binaries, NuGet spec/targets and test CSWinMDComponent files; renamed Microsoft.Windows.CsWinMD.Generator.targets to Microsoft.Windows.CsWinRT.Authoring.WinMD.targets and updated Microsoft.Windows.CsWinRT.targets import. Cleaned up Azure pipeline templates and build scripts to stop staging/packing CsWinMD, removed the PublishCsWinMD variable, and updated documentation and solution entries to reflect the change.
Sergio0694
force-pushed
the
user/sergiopedri/delete-cswinmd
branch
from
April 30, 2026 14:18
8df2138 to
77a0279
Compare
* Add Benchmarks and Hosting folders to solution Reorganize cswinrt.slnx by introducing /Benchmarks/ and /Hosting/ folders. Move Benchmarks.csproj into /Benchmarks/ and add its BuildDependency entries and platform mappings. Relocate TestWinRT/BenchmarkComponent and Tests/ObjectLifetimeTests entries (with platform/build flags) to match the new folder layout. Move Authoring/WinRT.Host.Shim and WinRT.Host projects into /Hosting/ and adjust WinRT.SourceGenerator2 placement. Preserve existing platform and Build attributes while updating the solution ordering. * Fix NuGet folder casing in solution Update src/cswinrt.slnx to change the Folder Name from "/Nuget/" to "/NuGet/" for consistent casing. This avoids potential issues on case-sensitive filesystems and keeps the solution aligned with standard NuGet naming.
Sergio0694
force-pushed
the
user/sergiopedri/delete-cswinmd
branch
from
April 30, 2026 17:50
77a0279 to
d02e9ad
Compare
Sergio0694
added a commit
that referenced
this pull request
Jul 1, 2026
The CsWinMD tool and its CSWinMDComponent test were removed in #2408, but the projection generator port (#2440) accidentally re-added the orphaned CSWinMDComponent.vcxproj.filters file. It is the only remaining file in the directory, is not part of any solution, and is referenced by nothing. Remove it (and the now-empty directory). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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.
Summary
Remove the legacy
cswinmdauthoring tool and its associated test component, plus all related leftover infrastructure (NuGet spec, MSBuild targets, CI steps, build scripts, solution entries). The WinMD generation responsibilities are now fully owned by the newcswinrtwinmdgentool (src/WinRT.WinMD.Generator/). The remaining authoring WinMD targets file is renamed for naming consistency with the rest of the CsWinRT 3.0 targets.Motivation
With CsWinRT 3.0, WinMD generation has moved entirely into the new
cswinrtwinmdgen.exepost-build tool, which is consistent with the other 3.0 build tools (cswinrtimplgen,cswinrtprojectiongen,cswinrtinteropgen). The oldcswinmdproject, its standalone NuGet package, and the C++CSWinMDComponenttest project are no longer used and only added clutter to the repo, the solution, and the CI pipeline. RenamingMicrosoft.Windows.CsWinMD.Generator.targetstoMicrosoft.Windows.CsWinRT.Authoring.WinMD.targetsaligns its name with the existingMicrosoft.Windows.CsWinRT.Authoring.*.targetsfamily.Changes
src/Authoring/cswinmd/: deleted the legacy CsWinMD tool project (CsWinMD.csproj,Program.cs).src/Tests/CSWinMDComponent/: deleted the C++ test component that depended on the old tool (vcxproj, headers, sources,.def, props,packages.config).nuget/Microsoft.Windows.CsWinMD.nuspecandnuget/Microsoft.Windows.CsWinMD.targets: removed; the standalone CsWinMD NuGet package is no longer produced.nuget/Microsoft.Windows.CsWinMD.Generator.targets→nuget/Microsoft.Windows.CsWinRT.Authoring.WinMD.targets: renamed for naming consistency with other authoring targets.nuget/Microsoft.Windows.CsWinRT.targets: updated the import to reference the renamed targets file.src/build.cmd: removed thecswinmd_outpathvariable and the secondnuget packinvocation that built the CsWinMD package.src/cswinrt.slnx: removed theCsWinMDandCSWinMDComponentsolution entries; tidied up theFiles/src/folder paths to be solution-relative.build/AzurePipelineTemplates/: removed CsWinMD build/stage/publish steps fromCsWinRT-Build-Steps.yml,CsWinRT-BuildAndTest-Stage-OneBranch.yml,CsWinRT-PublishToNuGet-Steps.yml, and thePublishCsWinMDvariable fromCsWinRT-Variables.yml.docs/structure.mdand.github/copilot-instructions.md: updated references to the oldcswinmdtool and the renamed targets file..github/skills/update-copilot-instructions/SKILL.md: minor doc update to match.