0

テンプレート ファイル内で、safeitemnameテンプレート変数を使用してクラス名を定義します。アイテム テンプレートは、サブクラス化するクラスを作成するためのものMXApplicationです。テンプレートをエクスポートし、それを利用して新しいクラスを作成した後の結果は、基本的にそれ自体から継承されたクラスです。クラスに名前空間を追加しようとすると、値が に置き換えられる前に名前空間がプレフィックスとして付けられsafeitemnameます。

Template クラスは次のとおりです (説明のためにトリミングされています)。

namespace $rootnamespace$
{
  public class $safeitemname$ : MonoCross.Navigation.MXApplication
  {
    public override void OnAppLoad()
    {
        //Do the work
    }
  }
}



テンプレートを使用して作成した結果MyAppは次のとおりです。

namespace MyNameSpace
{
  public class MyApp : MonoCross.Navigation.MyApp
  {
    public override void OnAppLoad()
    {
        //Do the work
    }
  }
}

VS2012 (および VS2013) を使用してこのテンプレートをエクスポートしようとしました。

アドバイスをいただければ幸いです。Visual Studio 2012 でアイテム テンプレートを更新しようとしましたが (2010 年には機能していました)、この問題が発生し続けています。既存のテンプレートのいくつかで試しました。さらに、.csproj を再作成して、既存のテンプレートを Visual Studio 2012 を使用して作成した .csprog ファイルに追加しようとしました。すべての試行で、同じクラス継承の問題が発生します。

これは、参照用に使用している MSDN Doc です: http://msdn.microsoft.com/en-us/library/vstudio/tsyyf0yh.aspx

4

1 に答える 1

0

この問題は、[テンプレートのエクスポート] コマンドで作成された .zip ファイルを見ると明らかでした。テンプレート .zip に含まれる .cs ファイルには次のように書かれています。

namespace $rootnamespace$
{
  class $safeitemname$ :  MonoCross.Navigation.$safeitemname$
  {
    public override void OnAppLoad()
    {
      //Do the work
    }
  }
}


$safeitemname$テンプレートを機能させるための修正は、.cs ファイルを手動で編集し 、最後のファイルを置き換えてMXApplicationから、元の .zip ファイルに .cs ファイルを貼り付けることでした。

于 2013-09-17T18:40:25.297 に答える