Я создал шаблон проекта VS (multi-), и у меня возникли проблемы при попытке управлять иерархической структурой base при его использовании.
Исходная папка шаблона / полное решение имеет следующие проекты
MyTemplate.UI
MyTemplate.BusinessLogic
MyTemplate.DataModels
MyTemplate.Helpers
MyTemplate.Interfaces
MyTemplate.Services.APIConnector
MyTemplate.Services.AuthProvider_AAD
Файл .vstemplate
<VSTemplate Version="2.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>IoC Template</Name>
<Description>Template with IoC/project separation</Description>
<Icon>Icon.ico</Icon>
<ProjectType>CSharp</ProjectType>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$safeprojectname$.UI" CopyParameters="true">
MyTemplate.UI\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.BusinessLogic" CopyParameters="true">
MyTemplate.BusinessLogic\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.DataModels" CopyParameters="true">
MyTemplate.DataModels\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Helpers" CopyParameters="true">
MyTemplate.Helpers\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Interfaces" CopyParameters="true">
MyTemplate.Interfaces\MyTemplate.vstemplate
</ProjectTemplateLink>
<SolutionFolder Name="$safeprojectname$.Services" CopyParameters="true">
<ProjectTemplateLink ProjectName="$safeprojectname$.APIConnector" CopyParameters="true">
MyTemplate.Services.APIConnector\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.AuthProvider_AAD" CopyParameters="true">
MyTemplate.Services.AuthProvider_AAD\MyTemplate.vstemplate
</ProjectTemplateLink>
</SolutionFolder>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
Теперь, когда создается решение / проект, все развертывается, как ожидалось, однако всегда кажется, что из базовой папки всегда вставляется дополнительный уровень папки ...
Итак, допустим, я хочу создать проектный вызов WidgetProject
, в VS2017, File-> New -> Project
, выберите шаблон и установите следующее
Name = WidgetProject
Location = C:\WorkProjects
Solution name = WidgetProject
Create directory for solution = ticked
То, что это генерирует в качестве структуры папок, является
C:\MyProjects\WidgetProject\WidgetProject.sln
WidgetProject\WidgetProject.UI
WidgetProject\WidgetProject.BusinessLogic
WidgetProject\WidgetProject.BusinessLogic
WidgetProject\WidgetProject.DataModels
WidgetProject\WidgetProject.Helpers
WidgetProject\WidgetProject.Interfaces
WidgetProject\WidgetProject.Services\APIConnector
WidgetProject\WidgetProject.Services\AuthProvider_AAD
Все папки проекта имеют дополнительный уровень глубины ... Я хочу разместить их на том же уровне папок, что и файл .sln
.
Я уверен, что это просто настройка в файле .vstemplate
, но я просто не могу понять.
TYIA