Для создания Многопроектного шаблона я перешел по этой ссылке:
https://docs.microsoft.com/en-us/visualstudio/ide/how-to-create-multi-project-templates?view=vs-2017
Но я хотел иметь более настраиваемую структуру физических каталогов для моих выходных проектов.
Желаемая структура выходного проекта:
Biz (folder) > Business.Profiles (folder) > project
Web (project, is on the root)
In other form, it should be seen as :
Biz\Business.Profiles
Web
Таким образом, в примере все проблемы связаны с получением папки: Biz
Как мы можем создать папку «Biz»?Еще лучше для меня, не пытался, если возможно, что-то вроде этого:
"$solutionname$".Biz (folder) > Business.Profiles (folder)> project
Поэтому попытался отредактировать основной .vstemplate, добавив приведенный ниже код под узлом SolutionFolder:
<Folder Name=”Biz”>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Biz">
<Folder Name=”Biz”
<ProjectTemplateLink ProjectName="Business.Profiles">
Biz\Business.Profiles\MyTemplate.vstemplate
</ProjectTemplateLink>
</SolutionFolder>
…
В результате «Бизнес. Профили» полностью исчезли из выпуска!После этого я попытался отредактировать этот файл:
Biz\Business.Profiles\MyTemplate.vstemplate
Размещая тег в 2 разных местах на разных попытках:
Сначала я добавил в качестве контейнера для проекта, результат был довольнотак же, как вышеупомянутая попытка, за исключением того, что по крайней мере появилась папка «Biz».
<TemplateContent>
<Folder Name="Biz">
<Project TargetFileName="Business.Profiles.csproj" File="Business.Profiles.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="ContactInfo.cs">ContactInfo.cs</ProjectItem>
...
Во-вторых, я поместил <folder>
внутри тега Project
, результат был для меня ожидаемым, но нежелательным,папка была создана внутри папки проекта.
В качестве дополнительной заметки, не знаю, связаны они или нет, но у меня были также эти 2 строки в коде последнего раздела:
<CreateNewFolder>true</CreateNewFolder>
<CreateInPlace>true</CreateInPlace>