项目模板未显示在Windows应用商店应用中

时间:2013-02-24 08:23:53

标签: visual-studio-2012 windows-store-apps

我使用visual studio 2012“导出模板...”为自己创建了一些单个文件C#项模板。 ZIP文件显示在My Exported Templates中,我可以将它们移动到Templates目录中。当我创建一个C#控制台应用程序时,模板显示就好了。

但是,这适用于Windows应用商店。我创建了这些人添加到我的Windows应用程序中。但是,VS2012中的“添加项目”对话框并不具备它们的方式。我猜测VS2012生成的XML有问题。有人知道吗?

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>KonaViewModelWithBack.cs</DefaultName>
    <Name>KonaViewModelWithBack</Name>
    <Description>&lt;No description available&gt;</Description>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="Code" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">ConnectToRTMViewModel.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>

1 个答案:

答案 0 :(得分:2)

在寻找VS2012类文件中的XML元素之后,我偶然发现了TemplateID。如果你看那里,你会注意到它引用了一个TemplateGroupID。

如果您查看基于WinRT的应用程序的TempmlateGroupIDs(VsTemplate)(请参阅下面的registry location以及下面的BTW说明),您会发现列出了“WinRT-Managed”。如果您更改模板文件以添加设置为的TemplateGroupID,则VS2012将正确找到它:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>KonaViewModel.cs</DefaultName>
    <Name>Kona View Model With Back Button</Name>
    <Description>A Kona based View Model which implements a go back button ICommand</Description>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>10</SortOrder>
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <Icon>__TemplateIcon.ico</Icon>
    <TemplateGroupID>WinRT-Managed</TemplateGroupID>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="Code" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">ConnectToRTMViewModel.cs</ProjectItem>
  </TemplateContent>
</VSTemplate>
BTW,TemplateID msdn页面上的文档不正确,至少在我的Win8 Pro上安装了VS2012 Pro。显示在那里的注册表信息实际显示在DEFAULT用户配置单元中,而不是LOCAL_MACHINE配置单元中。