Я создал шаблон проекта VS (мульти-), и у меня возникли проблемы с управлением структурой иерархии 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
, но я просто не могу понять.
ТИА