Простой ответ: отступы имеют значение для парсера VS sln
.
Так что ребята из компании утверждали, что все это сработало, и мне было трудно в это поверить.Снова и снова я сканировал код, который его строит, и файл sln, который создается и не может сказать никакой разницы.
Из-за того, что я не смотрел пробелы!
Месяц назад я невинно изменил код, который создает файл .sln, чтобы записать файл с другим отступом.
Вот разница файлов:
Это сработало, потому что файл был идентичен файлу, созданному VS, включая отступ:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{19091980-2008-4CFA-1491-04CC20D8BCF9}") = "proj1", "..\proj1_2008.vcproj", "{C844505D-3D9E-437F-94D6-BDA74999651D}"
...
EndProject
Project ...
..
EndProject
Global
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
*good Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
....
Этот вызвалVS, чтобы отредактировать, и как побочный эффект, чтобы сломать нашу желаемую конфигурацию решения:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{19091980-2008-4CFA-1491-04CC20D8BCF9}") = "proj1", "..\proj1_2008.vcproj", "{C844505D-3D9E-437F-94D6-BDA74999651D}"
...
EndProject
Project ...
..
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
*bad Debug|Win32 = Debug|Win32
*indent-Debug|x64 = Debug|x64
*ation Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
....