Xamarin の Visual Studio 項目テンプレート作成上のメモ
はじめに
- Xamarin.Native の項目テンプレートを作成するときの設定値のメモ
- Xamarin.Native の項目テンプレートを作成しようとしたきに、通常の C# のテンプレートで作成すると、Xamarin.Android のプロジェクトに新規項目を追加しようとしても、作成したテンプレートが Visual Studio 上で選択できなかった。
- 調査したところ、.template ファイルで TemplateGroupID を設定することで、Visual Studio 上でテンプレートを選択できるようになった。
予備知識
Visual Studio での項目テンプレートの作成方法(テンプレートの作成、配布用の VSIX プロジェクトの作成など)は、以下サイトなどを参照してください
方法
項目テンプレートの .template ファイルで、TemplateGroupID を設定します 以下に Android、iOS の設定を記載します
プラットフォーム | 設定値 |
---|---|
Android | MonoAndroid |
iOS | Xamarin.iOS |
以下に、Android 用の項目テンプレートの .template ファイルの例を示します。
<?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>XamarinItemTemplateSample.Android</Name> <Description>XamarinItemTemplateSample.Android</Description> <Icon>XamarinItemTemplateSample.Android.ico</Icon> <TemplateID>59ba9664-372a-42d9-82a1-e8a49580f757</TemplateID> <ProjectType>CSharp</ProjectType> <TemplateGroupID>MonoAndroid</TemplateGroupID> <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp> <DefaultName>Class.cs</DefaultName> </TemplateData> <TemplateContent> <References> <Reference> <Assembly>Mono.Android</Assembly> </Reference> </References> <ProjectItem SubType="Code" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class.cs</ProjectItem> </TemplateContent> </VSTemplate>
確認
シンプルな VSIX プロジェクトを作成して、Android, iOS 用のテンプレートを作成し、動作確認した結果は以下の通り。