6

T4テンプレートがあるプロジェクトのアセンブリへの参照を取得したいです。たとえば、プロジェクトへのパスを取得できることはわかっています。アセンブリ名はプロジェクト名で命名されているため、Host.ResolveAssemblyReference("$(ProjectDir)")追加することもできますが、常にそうであるとは限らず、再利用可能なテンプレートを作成しているため、dll またはへのパスが必要です。bin\\debug\\{projectName}.dll最も好ましくAssemblyはインスタンスです。メソッドでProject説明されているように への参照を取得する方法も見つけましGetProjectContainingT4Fileたが、その後はどうすればよいでしょうか?

それを取得する方法はありますか?

ところで、特定の型にアクセスしてそれらからコードを生成するには、その参照が必要です。

4

2 に答える 2

13

次の簡単なコードがうまくいきました(VS 2013):

var path = this.Host.ResolveAssemblyReference("$(TargetPath)");
var asm = Assembly.LoadFrom(path);

$(...)また、プロジェクト psot ビルド ステップ エディターでプロパティを見つけることができます。

于 2013-11-07T21:50:22.043 に答える