【问题标题】:Custom ItemTemplate does not appear in Visual Studio 2015 Add New Item dialog自定义 ItemTemplate 未出现在 Visual Studio 2015 添加新项目对话框中
【发布时间】:2016-04-01 07:41:17
【问题描述】:

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

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

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

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

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

我解压了存档,发现里面包含的文件如下:

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 &gt; Options &gt; Projects and Solutions 路径,它是正确的。我什至将它粘贴到资源管理器窗口地址栏中以确保。

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

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

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

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

如果有任何其他信息可以帮助解决此问题,请告诉我

我的 Visual Studio 版本是 14.0.23107.0

【问题讨论】:

    标签: visual-studio-2015


    【解决方案1】:

    我想分享一下我做错了什么,以防其他人阅读了所有的教程和文档,但仍然没有弄明白。

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

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

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

    你想要的是这样的结构:

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

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

    【讨论】:

    • 为什么你必须解压并重新压缩文件?
    • 是的,请解释为什么?鉴于您尝试了这么多不同的事情,您的问题的哪一部分适用于这个答案?您能否在答案中包含“正确”的程序?
    • @rory.ap 我确实解释过了。看看结构差异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多