VS Solution Template - как создавать файлы на уровне решения? - PullRequest
0 голосов
/ 02 мая 2020

Я создал шаблон решения Visual Studio, созданный в следующей структуре:

  • ProjectName.sln
    • ProjectName \ ProjectName.csproj
    • ProjectName. Tests \ ProjectName.Tests.csproj

Я сделал это путем создания трех файлов шаблонов, расположенных следующим образом:

  • SolutionTemplate.vstemplate
    • HostedProcessTemplate> MyTemplate.vstemplate (основной код проекта с Program.cs et c)
    • HostedProcessTemplateTests> MyTemplate.vstemplate

Верх Шаблон уровня определяется следующим образом:

<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>Hosted Process (.net Core)</Name>
        <Description>.NET Core hosted process with boilerplate code for building container/linux deployable applications.</Description>
        <Icon>__TemplateIcon.png</Icon>
        <ProjectType>CSharp</ProjectType>
        <DefaultName>HostedProcessApp</DefaultName>
        <ProvideDefaultName>true</ProvideDefaultName>
    </TemplateData>
    <TemplateContent>
      <ProjectCollection>
        <ProjectTemplateLink TargetFolderName="$projectname$" ProjectName="$projectname$">
           HostedProcessTemplate\MyTemplate.vstemplate
        </ProjectTemplateLink>
        <ProjectTemplateLink TargetFolderName="$projectname$.Tests" ProjectName="$projectname$.Tests" CopyParameters="true">
           HostedProcessTemplateTests\MyTemplate.vstemplate
        </ProjectTemplateLink>
      </ProjectCollection>
    </TemplateContent>
</VSTemplate>

Это хорошо работает и создает структуру следующим образом:

enter image description here

Что бы я хотел например, чтобы папки проекта находились на том же уровне, что и решение, следующим образом:

enter image description here

Я пытался указать имя целевой папки, но это не помогает, кто-нибудь делал это раньше?

<ProjectTemplateLink TargetFolderName="Tests" ProjectName="$projectname$.Tests" CopyParameters="true">
      HostedProcessTemplateTests\MyTemplate.vstemplate
</ProjectTemplateLink>

Спасибо За любые указатели заранее!

...