microsoft / microsoft/vs-solutionpersistence
SLNX: "Do not build" (no <build> node) is always reset
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 213
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
A .slnx solution contains a WiX project. By default, this WiX project should not be built. The configuration via Visual Studio is possible without any problems. However, if the solution is reopened, the configuration is reset and the Wix project is set to built again.
Reproduction:
Microsoft Visual Studio Professional 2022 (64-bit), Version 17.14.18 (October 2025)
Test Solution: TestSLNX.zip
- Disable Build of WiX project
- Correct SLNX is generated
<Solution>
<Configurations>
<Platform Name="x64" />
</Configurations>
<Project Path="TestApp/TestApp.csproj">
<Platform Project="x64" />
</Project>
<Project Path="TestWix/TestWix.wixproj" Id="4a922bd5-487a-4024-ab28-b9d5576c9993" />
</Solution>
- Close Solution in Visual Studio and reopen it.
- Click "Save all" without changing anything.
- A
<Build />node has been added and building has been activated again.
<Solution>
<Configurations>
<Platform Name="x64" />
</Configurations>
<Project Path="TestApp/TestApp.csproj">
<Platform Project="x64" />
</Project>
<Project Path="TestWix/TestWix.wixproj" Id="4a922bd5-487a-4024-ab28-b9d5576c9993">
<Build />
</Project>
</Solution>
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by opening the attached TestSLNX.zip in Visual Studio and reproducing the save-after-reopen sequence. Trace the solution persistence path for a project without a node; done means reopening and saving preserves the omitted node and does not re-enable building.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100