C# Visual Studio中共享项目的项模板

C# Visual Studio中共享项目的项模板,c#,visual-studio,templates,visual-studio-2015,C#,Visual Studio,Templates,Visual Studio 2015,我在VisualStudio中为一个类创建了一个自定义项模板。我已经完成了所有必需的步骤,模板可以作为新项添加到除“共享项目”类型之外的所有项目类型中。添加新项目时,它不会显示在选项列表中。我的目标是将此模板用于共享项目中的新类 这是我的模板的.xml文件 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> <Templ

我在VisualStudio中为一个类创建了一个自定义项模板。我已经完成了所有必需的步骤,模板可以作为新项添加到除“共享项目”类型之外的所有项目类型中。添加新项目时,它不会显示在选项列表中。我的目标是将此模板用于共享项目中的新类

这是我的模板的.xml文件

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>Class_ODBC.cs</DefaultName>
    <Name>Class_ODBC</Name>
    <Description>Template for a class using ODBC and System.Data</Description>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
    <TemplateGroupID>WinRT-Managed</TemplateGroupID>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class_ODBC.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

非常感谢您提供的任何帮助。

我也在努力实现这一点,文档并没有提供太多帮助,但检查了共享项目中已提供的一个模板,发现它可以通过
完成,并清楚地表明它是有效的

最终结果如下所示

<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
  <TemplateData>
    <Name>Custom ViewModel</Name>
    <Description>Custom ViewModel</Description>
    <Icon>MyViewModelTemplate.ico</Icon>
    <TemplateID>6dde10d5-17ae-4cf1-9880-dc448eca638d</TemplateID>
    <TemplateGroupID>WinRT-Managed</TemplateGroupID>
    <AppliesTo>CSharp</AppliesTo>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>1</SortOrder>
    <RequiredFrameworkVersion>4.5</RequiredFrameworkVersion>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <DefaultName>ViewModel.cs</DefaultName>
    <TargetPlatformName>Windows</TargetPlatformName>
    <RequiredPlatformVersion>8</RequiredPlatformVersion>
  </TemplateData>
  <TemplateContent>
    <ProjectItem SubType="Code"  TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

自定义视图模型
自定义视图模型
MyViewModelTemplate.ico
6dde10d5-17ae-4cf1-9880-dc448eca638d
温特管理
CSharp
CSharp
1.
4.5
1.
ViewModel.cs
窗户
8.
C类

希望这有帮助

在深入研究VisualStudio安装的模板后,我发现要将模板添加到子类别,例如C#下的共享项目,需要创建一个与子类别同名的文件夹,并将模板放置在该文件夹中


“AppliesTo”标签似乎只适用于顶级类别。

请分享您的解决方案,您可以如何做到这一点。
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
  <TemplateData>
    <Name>Custom ViewModel</Name>
    <Description>Custom ViewModel</Description>
    <Icon>MyViewModelTemplate.ico</Icon>
    <TemplateID>6dde10d5-17ae-4cf1-9880-dc448eca638d</TemplateID>
    <TemplateGroupID>WinRT-Managed</TemplateGroupID>
    <AppliesTo>CSharp</AppliesTo>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>1</SortOrder>
    <RequiredFrameworkVersion>4.5</RequiredFrameworkVersion>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <DefaultName>ViewModel.cs</DefaultName>
    <TargetPlatformName>Windows</TargetPlatformName>
    <RequiredPlatformVersion>8</RequiredPlatformVersion>
  </TemplateData>
  <TemplateContent>
    <ProjectItem SubType="Code"  TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>