none
ユーザー定義したテンプレートを任意のカテゴリにインストールする方法 RRS feed

  • 質問

  • VS2013Proを既定のフォルダにインストールすると

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Cloud
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\LightSwitch
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Office
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Office SharePoint
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Reporting
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Silverlight
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Store Apps
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Test
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\WCF
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Web
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Windows
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Windows Phone
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Windows Phone 8.1
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Windows Store
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Workflow

    ↑のフォルダが

    に対応していると思います。

    例えば"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp\Web"を例にとります。

    多分ダイアログのここに対応すると思います。

    このフォルダに書き込むのはおそらく正規の手順ではないので正しい方法を知りたいです。

    やりたいことは「新しい項目の追加」でt4 templateである自作の.ttファイルをテンプレートとして組み込ませたいのです。
    ファイル→テンプレートのエクスポートウィザードでエクスポートしたzipを任意のカテゴリにインポート出来ればそれでいいのですが、どのような手順を取ればいいのでしょうか?

    2014年12月15日 14:21

回答

  • 2個目の内容の意味がよくわからなかったので。
    edmxのデザイナの"ADO.NET Entity Data Model Designer"での右クリックメニューのことですね。?

    試しに
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Data\1041\DbCtxCSEF6\DbContext_CS_V6.0.vstemplate
    だけを%USERPROFILE%の方にコピーすると出てきました。
    ファイル名がDbContext_で始まっていると認識してもらえるようです。

    Zipファイルの場合は中身のvstemplateのファイル名をDbContext_で始まる名前に変更してZipに戻すと認識できます。
    (Zipを解凍したままでも認識してくれます)



    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク 和和和 2014年12月17日 8:20
    2014年12月16日 23:39

すべての返信

  • もう一つ追加したテンプレートは.edmxのコード生成項目の追加で


    で参照できるようにしたいです。
    ユーザーで作成したテンプレートを上記のような使い方をしたい場合どのような手順を取ればよいでしょうか?


    • 編集済み 和和和 2014年12月15日 14:23
    2014年12月15日 14:21
  • ユーザー毎でよければ標準では%USERPROFILE%\Documents\Visual Studio 2013\Templates\ItemTemplates以下に配置すればできますよ。
    VSのオプション->プロジェクトおよびソリューション->全般でテンプレートの場所を変更することもできます。

    例えばC#の項目の追加でデータに表示させたければ、
    %USERPROFILE%\Documents\Visual Studio 2013\Templates\ItemTemplates\Visual C#\データ
    に。Webのスクリプトに表示させたければ、
    %USERPROFILE%\Documents\Visual Studio 2013\Templates\ItemTemplates\Visual C#\Web\スクリプト
    に入れます。
    #VisualStudioを再起動しないと反映しませんが


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 編集済み gekkaMVP 2014年12月15日 15:08
    2014年12月15日 15:05
  • ありがとうございました。

    %USERPROFILE%\Documents\Visual Studio 2013\Templates\ItemTemplates

    に入れるフォルダを移動したら反映されました。

    もう一つ言い忘れの問題がありました。

    edmxを開いて右クリックで新しい項目の追加で同じような画面がでます。

    そのデータカテゴリで

    ef 5.x DbContextジェネレーター
    ef 6.x DbContextジェネレーター

    が出ていますが、ここに先ほど出力したテンプレートを配置したいのですがどうすればよいでしょうか?

    2014年12月16日 16:50
  • 2個目の内容の意味がよくわからなかったので。
    edmxのデザイナの"ADO.NET Entity Data Model Designer"での右クリックメニューのことですね。?

    試しに
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Data\1041\DbCtxCSEF6\DbContext_CS_V6.0.vstemplate
    だけを%USERPROFILE%の方にコピーすると出てきました。
    ファイル名がDbContext_で始まっていると認識してもらえるようです。

    Zipファイルの場合は中身のvstemplateのファイル名をDbContext_で始まる名前に変更してZipに戻すと認識できます。
    (Zipを解凍したままでも認識してくれます)



    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク 和和和 2014年12月17日 8:20
    2014年12月16日 23:39
  • Zipファイルの場合は中身のvstemplateのファイル名をDbContext_で始まる名前に変更してZipに戻すと認識できます。

    試しました。まさに希望した動作でした。

    大変助かりました。ありがとうございました。

    2014年12月17日 8:20