【发布时间】:2013-02-25 23:55:24
【问题描述】:
我正在创建具有 Web 应用程序、桌面、少数类库和单元测试项目的多项目解决方案模板。
我构建了基本容器并将其打包为 VSIX 容器。 当我安装 VSIX 容器时,我可以将我的解决方案模板的 .zip 文件放在以下物理路径中
%AppData%\Local\Microsoft\VisualStudio\11.0\Extensions\tbxs0hui.w2e\ProjectTemplates\CSharp\1033\myprojecttemplate.zip,所以一切都很好。
但是当我启动 Visual Studio 2012 时,我无法在 New Project -> Visual C# 下看到我的解决方案模板。
我什么时候出错了?有什么建议吗?
这里是 Multisolution RootTemplate.vstemplate 的内容:
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>MultiProject</Name>
<Description>MultiProject</Description>
<Icon>MultiProject.ico</Icon>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<SortOrder>1000</SortOrder>
<TemplateID>bbd7217a-8572-4edc-80ce-488cb9a347df</TemplateID>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>MultiProject</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="FolderName1">
<SolutionFolder Name="FolderName2">
<ProjectTemplateLink ProjectName="xxxxx">Children\Application1\Application1.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="yyyy">Children\Application1\Application2.vstemplate</ProjectTemplateLink>
</SolutionFolder>
<SolutionFolder Name="Folder3">
<ProjectTemplateLink ProjectName="zzzzzz">Children\Application3\Application3.vstemplate</ProjectTemplateLink>
</SolutionFolder>
<SolutionFolder Name="Web">
<ProjectTemplateLink ProjectName="Web">Children\Web\Web.vstemplate</ProjectTemplateLink>
</SolutionFolder>
</SolutionFolder>
<SolutionFolder Name="Tests">
<ProjectTemplateLink ProjectName="xxxxxTest">Children\ApplicationxxxxUnitTest\ApplicationxxxxUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="yyyyyTest">Children\ApplicationyyyyUnitTest\ApplicationyyyyUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="zzzzzTest">Children\ApplicationzzzzUnitTest\ApplicationzzzzUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="WebTest">Children\ApplicationWebUnitTest\ApplicationWebUnitTest.vstemplate</ProjectTemplateLink>
</SolutionFolder>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
安装 VSIX 后,我可以在 VS2012 中看到一个名为“MultiProject”的新项目。当我创建新项目时,Tests 文件夹下没有创建四个测试项目。我尝试将它们替换为 Tests 文件夹下的类库在 vstemplate 中,它工作正常,只有具有 ProjectTypeGuid {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 的单元测试项目不会在测试文件夹下创建。
【问题讨论】:
-
您可以将您的 extension.vsixmanifest 和 .vstemplate 文件的内容发布到某处吗?否则我们在这里没有任何工作可做。
-
嗨@JasonMalinowski,我已经用Root Vstemplate 内容更新了我的问题,其中包含要创建的项目链接集合。
-
我遇到了同样的问题,你是如何创建模板的?创建模板有两种方式,
标签: visual-studio-2012 visual-studio-extensions vsix project-template multi-project