要创建多项目模板,我点击了以下链接:
https://docs.microsoft.com/en-us/visualstudio/ide/how-to-create-multi-project-templates?view=vs-2017
但是我想要为我的输出项目提供更多的自定义物理目录结构。
所需的输出项目结构为:
Biz (folder) > Business.Profiles (folder) > project
Web (project, is on the root)
In other form, it should be seen as :
Biz\Business.Profiles
Web
因此,在该示例中,所有问题都在于获取文件夹: Biz
我们如何能够创建“ Biz”文件夹? 对我来说更好,如果可能的话不要尝试:
"$solutionname$".Biz (folder) > Business.Profiles (folder)> project
因此,尝试通过在SolutionFolder节点下添加以下代码来编辑主.vstemplate:
<Folder Name=”Biz”>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Biz">
<Folder Name=”Biz”
<ProjectTemplateLink ProjectName="Business.Profiles">
Biz\Business.Profiles\MyTemplate.vstemplate
</ProjectTemplateLink>
</SolutionFolder>
…
结果是“ Business.Profiles”从输出中完全消失了! 之后,我尝试编辑此文件:
Biz\Business.Profiles\MyTemplate.vstemplate
通过将标签放置在2个不同的位置进行不同的尝试:
首先,我为该项目添加了一个容器,结果与上述尝试完全相同,只是至少出现了“ Biz”文件夹。
<TemplateContent>
<Folder Name="Biz">
<Project TargetFileName="Business.Profiles.csproj" File="Business.Profiles.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="ContactInfo.cs">ContactInfo.cs</ProjectItem>
...
其次,我将<folder>
放在了Project
标签中,
结果对我来说是预期的,但不理想,该文件夹是在项目文件夹中创建的。
需要特别注意的是,不知道它们是否相关,但是我在上一节的代码中也有这两行:
<CreateNewFolder>true</CreateNewFolder>
<CreateInPlace>true</CreateInPlace>