我正在構建一個NuGet包,它將一些T4模板傳送到CodeTemplates目錄中。當我安裝NuGet軟件包時,T4模板都將「自定義工具」屬性設置爲「TextTemplatingFileGenerator」。這是不對的。NuGet - T4安裝後文件屬性不同
我知道我可以通過改變我的註冊表來禁用這個功能,以便不用這種方式添加新的T4模板,但是由於這是一個NuGet軟件包,這不是一個選項。
我已經看過PowerShell,但是我很難理解我將如何實現我的目標。
我已經看過了的.csproj文件的XML,發現這個:
<None Include="CodeTemplates\AddController\Controller.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>Controller.cs</LastGenOutput>
</None>
如果我從這個節點刪除「TextTemplatingFileGenerator」,那麼該文件將工作,我的願望。
我應該從哪裏出發?
這聽起來像你對問題的一些知識,但是這並不能真正解決我的問題。我絕對希望將T4模板作爲項目的一部分。這是我知道重寫MVC中的默認視圖和控制器模板的唯一方法。另外我還有一些其他的模板,我想住在項目中。 – 2011-05-16 14:03:45
我不認爲有一種很好的方式來做你想做的事情,在VS添加後自動化VS來改變類型。 AddMvc3ToWebForms包處理項目文件以更改GUID - 也許您可以做類似的操作,以針對添加的每個文件更改自定義工具? – 2011-05-16 14:20:11
是的,那可能是我會做的。我希望有人可以幫助。 – 2011-05-16 15:24:05