VS解决方案模板-如何在解决方案级别创建文件?

时间:2020-05-02 13:52:14

标签: visual-studio templates vsix visual-studio-templates

我已经创建了一个Visual Studio解决方案模板,该模板是按照以下结构创建的:

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

我通过创建三个如下所示的模板文件来完成此操作:

  • SolutionTemplate.vstemplate
    • HostedProcessTemplate> MyTemplate.vstemplate(带有Program.cs等的主代码项目)
    • 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>

感谢任何提前的提示!

0 个答案:

没有答案
相关问题