カスタム コントローラ (サービス付き) 用の T4 テンプレートを作成しようとしています。ただし、設定にいくつか問題があります。私は現在、具体的な無料の T4 ツール エディターと TextTemplatingFileGenerator をカスタム ツールとして使用しています。実験中にいくつかの問題が発生しています。
1: MvcTextTemplateHost を使用してみます mvcHost = (MvcTextTemplateHost)(Host); 「型または名前空間名 MvcTextTemplateHost が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)」と表示されます。カスタム ツールをクリアすると表示されますが、生成された T4 ファイルを表示するにはどうすればよいか疑問に思っていました。ツールをクリアしますか?
2: 別のアプローチは Steve Sanderson の CustomTemplate でしたが、DynamicTransform が見つからないという問題があり、それを使用するために必要なファイルをどこで入手できるか疑問に思っていました。このためにツールをクリアする必要がある場合、生成されたサンプル ファイルを表示するにはどうすればよいですか? どうもありがとうございました。
マックス・ギルマン
サンプルコード:
<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #>
<#@ Output Extension="cs" #>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
namespace someNamespace
{
<#
var modelType = (CodeType)Model.ModelType;
var modelName = modelType.Name;
var modelNamePlural = Model.ModelTypePluralized;
var modelVariable = modelName.ToLower();
var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType<RelatedEntityInfo>();
var primaryKeyProperty = modelType.VisibleMembers().OfType<CodeProperty>().Single(x => x.Name == Model.PrimaryKey);
var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase);
var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo<System.Data.Objects.ObjectContext>();
#>
public class foo
{
//This is a basic comment.
}
}