microsoft / microsoft/vs-solutionpersistence

SLNX: "Do not build" (no <build> node) is always reset

Open
#138 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Disable Build of WiX project
    Image
  2. 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>
  1. Close Solution in Visual Studio and reopen it.
  2. Click "Save all" without changing anything.
  3. 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>
Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.