我目前正在整合一个.vsix,其中包含使用SideWaffle和TemplateBuilder v1.1.4.9-beta的各种项目和项目模板。在实验实例中运行项目时,我可以看到它们应该位于的所有项目模板,但是除了控制台应用程序之外的任何项目类型的“添加新项”对话框中都没有项模板。如果我将项目编译为.vsix版本并以传统方式为Visual Studio安装它,行为是相同的。
一个示例模板的文件夹结构供参考:
CSharp.vestemplate的内容:
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<ProjectType>CSharp</ProjectType>
<DefaultName>my_layout.xml</DefaultName>
<Name>My Layout</Name>
<Description>My Description</Description>
<Icon>icon.png</Icon>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<TemplateID>65197798-4682-45e6-9bf4-d2d9e2929527</TemplateID>
<SortOrder>1000</SortOrder>
</TemplateData>
<TemplateContent>
<References />
<ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.xml">my_layout.xml</ProjectItem>
</TemplateContent>
</VSTemplate>
我已经尝试过了:
但到目前为止一切都无济于事。
答案 0 :(得分:0)
尽管Microsoft的documentation缺少对它们的引用,但TemplateGroupId
类型MonoAndroid
和Xamarin.iOS
可用,并且必须在模板的.vstemplate
中指定。将以下元素添加到TemplateData元素会使模板正确显示:
<TemplateGroupID>MonoAndroid</TemplateGroupID>
令人沮丧的是,可用的TemplateID似乎没有在任何地方正确记录,并且那些有效的IDID遵循看似随机的命名约定(人们会期望MonoAndroid
和MonoTouch
或{{ 1}}和Xamarin.Android
,但只有Xamarin.iOS
和MonoAndroid
实际上有效...)。