I am using Visual Studio 2017 for development of a multi-project solution. Every time I do something such as build, change a file, switch branches, sync, etc., the .sln solution file changes. When I look at the Diff to figure out what keeps changing, I see the following gets added in the GlobalSection(ProjectConfigurationPlatforms) = postSolution section of my .sln:
{(guid here)}.Debug|x64.ActiveCfg = Debug|Any CPU
{(guid here)}.Debug|x64.Build.0 = Debug|Any CPU
{(guid here)}.Release|x64.ActiveCfg = Release|Any CPU
{(guid here)}.Release|x64.Build.0 = Release|Any CPU
The guid refers to my project called MyProject, which is a Node.js unit test project. I have not made any changes to this project, and I looked at the master branch and confirmed that the master does not have these extra lines.
I check my Build Configuration Manager and see that all of my projects have Config: Debug and Platform: x64, as well as Config: Release and Platform: x64, except for MyProject, which has Platform: Any CPU for both Debug and Release. However, when I click the dropdown to change Any CPU to x64, the only item in the dropdown is Any CPU.
Why does this keep happening? It is annoying to have to keep clicking "Undo changes" and wait for the sln to reload.