Visual Studioプロジェクトまたはソリューションのディレクトリ、またはt4テンプレート内からt4テンプレートのディレクトリへの参照を取得するにはどうすればよいですか?
テンプレートに関連して配置された多数のファイルを連結するテンプレートがあります。相対的な手段で絶対的な場所への参照を取得する必要があります。 Visual Studioプロジェクトが常に同じ場所にあるとは限らず、コード生成が中断されるため、絶対パスをハードコーディングすることはできません。環境から現在の作業ディレクトリを読み取ることも機能しません。これは、テンプレートではなくT4エンジンが存在する場所を返すためです。私はちょうどt4に入っているので、どんな助けもいただければ幸いです。
ホスト固有のパラメータセクション [〜#〜] here [〜#〜] を参照してください。
このスニペットは、テンプレートに関連するsrcのフルパスを取得する方法を示しています。
<#@ template hostspecific="true" #>
// The location of the src folder relative to the t4 template:
// <#= Host.ResolvePath("src") #>
あなたもこのような道をつかむことができます
<#@ template hostspecific="true" #>
<#= Path.GetDirectoryName(this.Host.TemplateFile) #>