2017-01-27 16 views
0

私はT4を使用して、埋め込みライブラリからhファイルをC#ファイルに変換しています。これは正常に動作しますが、問題のファイルへの相対参照を提供したいと思います。私はプロジェクトにbar.hを含めると、ビルドアクションを「なし」に変更し、簡素化することができれば、それはいいだろうT4相対パス参照

s = Path.GetDirectoryName(Host.ResolvePath("thisFile.tt")) + @"\..\foo\bar.h"; 

:今のところ、これは私が思い付くことができましたすべてです

s = Host.ResolvePath("bar.h"); 

しかし、これはエラーを投げ、私が言うことができる限り、T4スクリプトと同じディレクトリにあるファイルに対してはResolvePathのみが可能です。

誰か良い方法がありますか?

答えて

0

bar.hは別のフォルダにあるので、相対パスを与える必要があります。だから、あなたは、テキストテンプレートからのファイルの相対フルパスを見つける this.Host.ResolvePathを使用するにはhttps://msdn.microsoft.com/en-us/library/gg604090(v=vs.100).aspx

s = Host.ResolvePath(@"..\foo\bar.h"); 

答えを見つけることができるのだろう()。