Скажем, у меня есть решение, которое структурировано как так:Как вручную добавить папки Solution в файл .sln?
|__TopLevelFolder
|___ModuleFolder
|____ProjectFile
|____TestProjectFile
Я хочу, чтобы создать еще один «ModuleFolder» под «TopLevel» и добавить свои соответствующие файлы проекта и тестирования проекта. Однако для моих целей мне нужно вручную изменить файл .sln, чтобы добавить их (я делаю это как часть генератора йома, то есть я не могу сделать это в VS, как обычно).
Моя проблема заключается в том, что когда я изменяю файл .sln, моя папка появляется как недоступный проект, и когда я пытаюсь перезагрузить его, загрузка завершается с ошибкой, и в ней говорится: «Файл проекта или сеть не могут быть найдены». Вот то, что я делаю в .sln файле:
Сначала я добавляю папку:
Project("{GUID}") = "NewModuleFolder", "NewModuleFolder", "{NewModuleGUID}"
EndProject
Затем добавить фактический проект:
Project("{GUID}") = "TopLevel.NewModule.Tests", "src\TopLevel\NewModule\TopLevel.NewModule.Tests.csproj", "{TestProjectGUID}"
EndProject
Тогда в «preSolution» раздел I добавить строку, которая помещает NewModuleFolder под TopLevelFolder, а также TestProject под NewModuleFolder:
GlobalSection(NestedProjects) = preSolution
{NewModuleGUID} = {TopLevelGUID}
{TestProjectGUID} = {NewModuleGUID}
...
EndGlobalSection
Именно так работают все другие папки и проекты в моем решении (поверьте, я дважды и трижды проверил, а также попытался переключить GUID, чтобы убедиться).
Любые идеи о том, как сделать эту работу или что я делаю неправильно (или по-другому я должен делать это, учитывая, что я создаю генератор йома)?
Спасибо!
Вы совершенно правы. Я установил его вместо csproj guid вместо одного для папок (или, по крайней мере, так я его понимаю). Большое спасибо! – Andrew