まあ、汚れた回避策が見つかりました。
誰かに助言があれば、もっと良い解決策やアプローチが好きですか?
私のプロセスを他の人に役立つものとして投稿する。例えばデバッグモードに私のテンプレートを入れて テンプレートが含まれるように、テンプレートディレクティブを使用し
生成されたファイル(複数可)を見て、オープンの%TEMP%をポップ
<#@テンプレート言語= "C#" デバッグ= "true" を hostspecificは= "真" #>
(最近 変更された)。
使用されなかったアセンブリ/クラスを検索しました。 「含まれる」テンプレートの両方に同じ参照があることが見つかりました。
<#1 @ =ファイル "MyHelperTemplate.ttinclude" #>
そして、次のとおりです
<#1 @ = "EF.Utility.CS.ttinclude" #>
が開かれたファイルを含めるを非カスタムインクルード用のインクルードフォルダは、 さんと競合しています
..\ Common7 \ IDE \拡張\マイクロソフト\ Entity Frameworkのツールに\テンプレート\は、その厄介な輸入
<#1 @インポート名前空間= "EnvDTE" #>
を取り出し、このファイルを開い
が含まれていますと同じフォルダに新しい名前を保存し、この新しいバージョンを指すように参照を更新しました。
<#@が "親" テンプレートにファイル= "EF.Utility.CS.Custom.ttinclude" #>
入れに必要な輸入品を含め、テンプレート "を含む" から削除します。私の場合はこれでした:>
<#1 @インポート名前空間= "EnvDTE" #は、今ではすべての罰金、問題、一切ノー重複輸入、および参照されるすべての必要なアセンブリを実行していません正しく
この問題を完全に否定する、T4コードの再利用を扱うもっと洗練された方法があることは間違いありません。私は最初テンプレートのヘルパーで独自のカスタムアセンブリをインポートしようとしましたが、カスタムクラスライブラリをビルドしようとしたときにロックされたdllの古典的な問題のように見えました。
VolatileAssembly Custom Directiveとこの解決策があり、普及していますが、私のかなり単純な必要性のために少し残酷に見えます。たぶん私にはもっと時間があります。
あなたは「%Temp%を開く」という意味はどういう意味ですか?私もこれを理解してEnvDTEを利用しようとしていますが、テンプレートとEnvDTEの一般的なことはまだ少しです。 – William
つまり、「C:\ Users \ [YourUserName] \ AppData \ Local \ Temp」のようなものを開くためのショートカットであるstart> type "%temp%"を入力してください。 – MemeDeveloper