Структура шаблона решения VS2017 - PullRequest
0 голосов
/ 16 мая 2019

Я создал шаблон проекта 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...