Visual studio 2012 VsTemplate:TemplateGroupID的用法
无论我使用Visual studio 2012 VsTemplate:TemplateGroupID的用法,visual-studio-2012,vs-extensibility,visual-studio-templates,Visual Studio 2012,Vs Extensibility,Visual Studio Templates,无论我使用HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\Projects\中的哪个ID,它们都不起作用!当我将ShowByDefault设置为false时,“添加新项目”窗口中不会显示任何内容。 在我的示例中,我使用了SharePointItemTemplateGroupID,但Web也不起作用。我不知道我做错了什么 My*.vstemplate: <?xml version="1.0" encoding="utf-
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\Projects\
中的哪个ID,它们都不起作用!当我将ShowByDefault
设置为false
时,“添加新项目”窗口中不会显示任何内容。
在我的示例中,我使用了SharePointItemTemplateGroupID
,但Web
也不起作用。我不知道我做错了什么
My*.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>My User Control</Name>
<Description>My User Control with My-specific content.</Description>
<Icon>MyUserControl.ico</Icon>
<TemplateID>b83fe377-e03a-40a8-9366-a04988fae2a7</TemplateID>
<ProjectType>CSharp</ProjectType>
<SortOrder>1</SortOrder>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<DefaultName>MyUserControl.ascx</DefaultName>
<TemplateGroupID>SharePointItemTemplateGroupID</TemplateGroupID>
<ProjectSubType>SharePointItemTemplateGroupID</ProjectSubType>
<ShowByDefault>true</ShowByDefault>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>Microsoft.SharePoint</Assembly>
</Reference>
<Reference>
<Assembly>System</Assembly>
</Reference>
<Reference>
<Assembly>System.Web</Assembly>
</Reference>
</References>
<ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$">MyUserControl.ascx</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$.cs">MyUserControl.ascx.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$.designer.cs">MyUserControl.ascx.designer.cs</ProjectItem>
<CustomParameters>
<CustomParameter Name="MappedFolderType" Value="UserControl" />
<CustomParameter Name="$UC$" Value="UserControl" />
<CustomParameter Name="$baseclass$" Value="UserControl"/>
</CustomParameters>
</TemplateContent>
<WizardExtension>
<Assembly>Microsoft.VisualStudio.SharePoint.ProjectExtensions.Wizards, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
<FullClassName>Microsoft.VisualStudio.SharePoint.ProjectExtensions.Wizards.GenericMappedFolderWizard</FullClassName>
</WizardExtension>
</VSTemplate>
我的用户控件
我的用户控件与我的特定内容。
MyUserControl.ico
b83fe377-e03a-40a8-9366-a04988fae2a7
CSharp
1.
2
1.
MyUserControl.ascx
SharePointItemTemplateGroupID
SharePointItemTemplateGroupID
真的
Microsoft.SharePoint
系统
系统.Web
MyUserControl.ascx
MyUserControl.ascx.cs
MyUserControl.ascx.designer.cs
Microsoft.VisualStudio.SharePoint.ProjectExtensions.Wizards,版本=11.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a
Microsoft.VisualStudio.SharePoint.ProjectExtensions.Wizards.GenericMappedFolderWizard
我不知道注册表项,但如果希望项目模板显示在“新建项目”对话框的某个文件夹中,请将其放置在文件系统上相应的文件夹中。例如,将压缩的模板文件放在此处:
C:\Users\\Documents\visualstudio 2012\Templates\ProjectTemplates\CSharp\SharePoint\
CSharp
文件夹是language文件夹,因此请替换Visual Basic
或您需要的任何语言。此外,SharePoint
文件夹在上述路径中不存在,因此您必须创建它。此文件夹的内容与安装的文件夹合并在:
\VisualStudioInstallationDirectory\Common7\IDE\ProjectTemplates\
请参阅。这仍然很有用。。。我一直认为.vstemplate文件中的“ProjectSubType”属性可以帮助我将其显示在“添加新项”对话框中“Visual C#Items”下的现有类别下,例如“代码”-仍然不知道ProjectSubType的实际用途或显示位置,但您的回答帮助我获得了我想要显示的项目模板,谢谢!