2010-09-01 78 views
1

给定带有两个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>&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> 

在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安装

回答

5

模板还是没有得到安装在用户的文档文件夹Templates文件夹。它们将安装在%LocalAppData%\ Microsoft \ VisualStudio \ 10.0 \ Extensions \ <YourExtensionFolder>以及该扩展程序的所有其他内容。 (A VSIX安装基本上只是解压VSIX到​​一个文件夹。)

您应该仍然能够看到模板当您尝试一个新的项目添加到C#项目。

+0

谢谢你,艾伦。 你说得对,我刚刚在User's Documents文件夹中找到了一个我的(可能是旧的)模板,并认为它是正确的地方。 此外,VS2010在用户的文档文件夹中搜索模板,而不像LocalAppData的地方那样做,而不需要重新启动。这个事实让我失望了。 (当我安装了一个vsix,看到没有模板,然后将它们复制到用户的文档,并看到模板) – Shrike 2010-09-02 13:53:20