如何從t4模板中獲取對Visual Studio項目或解決方案目錄或t4模板目錄的引用?使用T4獲取項目或相關目錄
我有一個模板,將多個文件連接在一起,這些文件位於相對於模板的位置。我需要通過相對的方式來獲得絕對位置的參考。硬編碼絕對路徑是不可接受的,因爲Visual Studio項目不會總是在相同的位置,這會破壞代碼生成。從環境中讀取當前工作目錄不起作用,因爲它返回T4引擎所在的位置而不是模板。我只是進入t4,所以任何幫助將不勝感激。
如何從t4模板中獲取對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) #>