VS2010:VSIX安装不会在其中部署项模板

Shr*_*ike 1 vsx visual-studio-2010 visual-studio-sdk vsix

给出了两个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>&lt;No description available&gt;</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>
Run Code Online (Sandbox Code Playgroud)

在VSIXProject1中,我只编辑了source.extension.vsixmanifest,添加了对ItemTemplates1项目的引用.在此之后,vsixmanifest只包含一个内容描述:

<Content>
    <ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
Run Code Online (Sandbox Code Playgroud)

然后建造它.在bin/debug中我得到了VSIXProject1.vsix,在其中我可以在ItemTemplates\CSharp\1033\ItemTemplate1.zip文件中看到我的项目模板.

一切看起来都很棒!

除了它不起作用的事实.我运行VSIXProject1.vsix,安装了vsix(我可以在扩展管理器中看到它),没有任何模板被复制到"C:\ Users\{UserName}\Documents\Visual Studio 2010\Templates\ItemTemplates"!

Aar*_*ten 5

通过VSIX安装的模板不会安装到用户Documents文件夹中的Templates文件夹中.它们安装在%LocalAppData%\ Microsoft\VisualStudio\10.0\Extensions\<YourExtensionFolder>下,包含该扩展的所有其他内容.(VSIX安装基本上只是将VSIX解压缩到一个文件夹.)

当您尝试将新项目添加到C#项目时,您仍应该能够看到该模板.