给定带有两个VSX项目的演示解决方案: 1.添加新项目 - >扩展性 - >项目模板 - “ItemTemplate1” 2.添加新项目 - >扩展性 - > VSIX项目 - “VSIXProject1”VS2010:VSIX安装不会在其中部署项目模板
我并没有改变 “ItemTemplate1”,所以它constains默认项模板(ItemTemplate1.vstemplate):
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>ItemTemplate1</Name>
<Description><No description available></Description>
<Icon>ItemTemplate1.ico</Icon>
<TemplateID>e298765c-97b8-4f4c-9b7b-a6b368f914df</TemplateID>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<DefaultName>Class.cs</DefaultName>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>System</Assembly>
</Reference>
</References>
<ProjectItem ReplaceParameters="true">Class.cs</ProjectItem>
</TemplateContent>
</VSTemplate>
在VSIXProject1我只是编辑source.extension.vsixmanifest添加对ItemTemplates1项目的引用。在这个vsixmanifest之后只包含一个内容说明:
<Content>
<ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
然后建立它。在斌/调试我有VSIXProject1.vsix里面,我可以在ItemTemplates \ CSharp \ 1033 \ ItemTemplate1.zip文件中看到我的项目模板。
一切看起来不错!
除非它不工作的事实。我跑VSIXProject1.vsix,VSIX安装(我可以看到它在扩展管理器)但没有任何模板复制到 “C:\用户\ {用户名} \文档\ Visual Studio 2010的\模板\的ItemTemplate”!即通过一个VSIX安装
谢谢你,艾伦。 你说得对,我刚刚在User's Documents文件夹中找到了一个我的(可能是旧的)模板,并认为它是正确的地方。 此外,VS2010在用户的文档文件夹中搜索模板,而不像LocalAppData的地方那样做,而不需要重新启动。这个事实让我失望了。 (当我安装了一个vsix,看到没有模板,然后将它们复制到用户的文档,并看到模板) – Shrike 2010-09-02 13:53:20