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

cru*_*ush 4 visual-studio-2015

我已经查看了这个问题,但它并没有解决我的问题。

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

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

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

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

我解压缩了存档,发现其中包含的文件如下:

我的模板.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>
Run Code Online (Sandbox Code Playgroud)

模板.cs

using System;
using System.Linq;

namespace $rootnamespace$
{
    public partial class $safeitemname$
    {
        public void $safeitemname$()
        {
            throw new NotImplementedException();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过的

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

devenv /installvstemplates
devenv /setup
devenv /resetsettings
Run Code Online (Sandbox Code Playgroud)

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

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

正如我在此处此处此处所读到的那样,它应该简单地从%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

cru*_*ush 5

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

我正在压缩在提取Export Template过程生成的压缩存档时创建的文件夹。这会导致压缩存档的结构类似于:

MyTemplate.zip
|-MyTemplate
  |-MyTemplate.vstemplate
  |-MyCodeFile.cs
  |-MyIcon.ico
Run Code Online (Sandbox Code Playgroud)

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

你想要的是这样的结构:

MyTemplate.zip
|-MyTemplate.vstemplate
|-MyCodeFile.cs
|-MyIcon.ico
Run Code Online (Sandbox Code Playgroud)

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