给出了两个VSX项目的演示解决方案: 1.添加新项目 - >可扩展性 - >项目模板 - “ItemTemplate1” 2.添加新项目 - >可扩展性 - > VSIX项目 - “VSIXProject1”
我没有对“ItemTemplate1”进行任何更改,因此它会保留默认项目模板(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>
然后建造它。在bin / debug中我得到了VSIXProject1.vsix,在其中我可以在ItemTemplates \ CSharp \ 1033 \ ItemTemplate1.zip文件中看到我的项目模板。
一切看起来都很棒!
除了它不起作用的事实。我运行了VSIXProject1.vsix,安装了vsix(我可以在扩展管理器中看到它)但是没有任何模板被复制到 “C:\ Users \ {UserName} \ Documents \ Visual Studio 2010 \ Templates \ ItemTemplates”!
答案 0 :(得分:5)
通过VSIX安装的模板不会安装到用户Documents文件夹中的Templates文件夹中。它们安装在%LocalAppData%\ Microsoft \ VisualStudio \ 10.0 \ Extensions \&lt; YourExtensionFolder&gt;下包含该扩展程序的所有其他内容。 (VSIX安装基本上只是将VSIX解压缩到一个文件夹。)
当您尝试将新项目添加到C#项目时,您仍然可以看到该模板。
答案 1 :(得分:1)