自定义ItemTemplate未出现在Visual Studio 2015“添加新项”对话框中

时间:2016-03-29 21:28:53

标签: visual-studio-2015

我查看了this question并没有解决我的问题。

我正在尝试在Visual Studio 2015中创建一个新的ItemTemplate。我首先在Visual Studio中创建模板,然后使用“文件”菜单中的“导出模板”选项。

我从“导出模板向导”中选择了“项目模板”,选择了我的项目,并选择了将用作模板的文件。我填写了模板选项,然后点击“完成”并选中“自动将模板导入Visual Studio”和“在输出文件文件夹上显示资源管理器窗口”。

打开的资源管理器窗口在zip存档中显示了我的模板。我导航到%My Documents%\Visual Studio 2015\Templates\ItemTemplates,发现zip存档也在该文件夹中。

然后我转到“添加新项”对话框,但找不到我在任何类别中列出的模板,或者主Visual C#Items类别。

我解压缩了已归档的内容,并为以下文件中包含以下文件找到了以下内容:

MyTemplate.vstemplate

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>MyTemplate.cs</DefaultName>
    <Name>MyTemplate</Name>
    <Description>MyTemplate</Description>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Template.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

Template.cs

using System;
using System.Linq;

namespace $rootnamespace$
{
    public partial class $safeitemname$
    {
        public void $safeitemname$()
        {
            throw new NotImplementedException();
        }
    }
}

我尝试过什么

我尝试以管理员身份打开VS2015的开发人员命令提示符并输入以下命令(不是一个接一个):

devenv /installvstemplates
devenv /setup
devenv /resetsettings

我尝试多次重启我的PC和Visual Studio实例。

我已经尝试过手动清除缓存文件夹并重建它们(尽管事实上它们与自定义ItemTemplates无关,据我所知)。

当我阅读hereherehere时,它应该只需自动从%My Documents%\Visual Studio 2015\Templates\ItemTemplates读取,甚至无需关闭Visual Studio。

我已检查用户项目模板位置的Tools > Options > Projects and Solutions路径,这是正确的。我甚至将它粘贴到资源管理器窗口地址栏中以确定。

我尝试将.zip存档放在ItemTemplates文件夹的各个子级别。

我尝试将.zip存档放在旧版本的VS ItemTemplates文件夹中。

我已经用尽了所有可以找到的MSDN文章和博客。他们似乎都表明我尝试过的步骤应该已经有效了。

我还能做什么?还有其他人遇到并解决了这个问题吗?

如果有任何其他信息可以帮助解决此问题,请与我们联系

我的Visual Studio版本是14.0.23107.0

1 个答案:

答案 0 :(得分:4)

我想分享我做错的事情,以防其他人通过所有教程和文档,但仍然没有弄清楚。

我正在压缩在解压缩Export Template进程生成的压缩归档时创建的文件夹。这会导致压缩存档的结构看起来像:

MyTemplate.zip
|-MyTemplate
  |-MyTemplate.vstemplate
  |-MyCodeFile.cs
  |-MyIcon.ico

这个额外的目录层导致Visual Studio无法读取模板。

你想要的是如下结构:

MyTemplate.zip
|-MyTemplate.vstemplate
|-MyCodeFile.cs
|-MyIcon.ico

如果您使用的是Windows内置压缩Send to > Compressed (zipped) folder,请务必选择文件本身,而不是解压缩Export Template进程创建的存档时创建的目录