无法将新模板添加/更新到Visual Studio

时间:2016-06-03 12:36:39

标签: c# templates visual-studio-2015 vsix

我为Visual Studio 2015创建了一个多项目解决方案模板。

我设法将其上传到本地模板区...\My Documents\Visual Studio 2015\Templates\ProjectTemplates,并且运行正常。

然后我决定对模板进行更改(改进$safeprojectname$标签的使用),将模板重新编译到zip文件中,将其重新部署到上面的位置,然后......没有。现有的已经消失了,我无法通过New Project窗口显示我的新模板。

我已尝试以下方法解决此问题

  • 关闭VS2015并重新启动
  • 重启电脑
  • 在VS命令行中输入devenv /installvstemplates
  • 反复调整.zip文件并将其上传到VS2015选项中定义的Templates文件夹

然后我想到了为模板创建一个VSIX包的想法,当我的模板出现在Extensions and Updates窗口中时,它仍然没有出现在New Project窗口中。

enter image description here

enter image description here

我确定有人会问,这是* .vstemplate文件

<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>XXXXXX MVC Application Template</Name>
    <Description>Template for new MVC Applications</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1001</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>ESITUK_Template</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.png</Icon>
    <PreviewImage>__PreviewImage.jpg</PreviewImage>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
      <ProjectTemplateLink ProjectName="$projectname$.Data">
        XXXXXX_Template.Data\Data.vstemplate
      </ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="$projectname$.Service">
        XXXXXX_Template.Service\Service.vstemplate
      </ProjectTemplateLink>
      <ProjectTemplateLink ProjectName="$projectname$.Web">
        XXXXXX_Template.Web\Web.vstemplate
      </ProjectTemplateLink>
    </ProjectCollection>
  </TemplateContent>
</VSTemplate>

最烦人的是,它曾经 一次 。有没有某种形式的cahcing VS2015正在做一些你无法重复上传带有名字的模板的地方?如果它存在,你怎么能清除这个缓存?

2 个答案:

答案 0 :(得分:0)

这可能是模板有效性的问题,而不是VS缓存吗?你能尝试在你的vsix中打包一个已知好的项目模板,看看是否有人接受了这个变化吗?

答案 1 :(得分:0)

再次攻击此问题后,考虑到这可能是一个错误的模板,我发现following answersimilar question

  

诀窍是在编辑存档的解压缩内容之后,   而不是选择文件夹并压缩它,打开文件夹和   选择所有文件(和文件夹,如果存在),然后压缩它们。

这正是我的问题 - 选择文件夹和压缩文件会导致错误格式的zip文件被解释为模板。选择文件夹中的文件并将它们压缩在一起会创建一个稍有不同排列的zip文件,然后可以将其解释为模板。

这一定是我在没有意识到的情况下所做的一次。

感谢@user1585345建议再次查看模板的格式,而不是VS2015正在使用它。