2009-12-08 48 views
0

我們正在嘗試學習使用T4模板。我希望使用System.Data.Entity.Design.PluralizationServices庫來更好地複製模板中的某些實體模型名稱,但是我在實現此目標時遇到了一些問題。在t4模板中可以導入哪些庫有任何限制?

  1. 運行代碼以生成輸出文本。我認爲這是可能的,但如果它不起作用,那麼就沒有必要再走了。 (我可以調用Date.Now.ToString()並得到預期的結果。我還沒有嘗試過任何更復雜的東西)
  2. 我在Silverlight應用程序,所以我不能添加對項目的引用在我需要生成的.cs文件的地方使用PluralizationServices庫。我正計劃將.tt文件移動到非SL應用程序,使用命名空間並將生成的文件移動到正確的空間。還沒有那麼遠,所以我不知道會有多少麻煩,但它似乎不應該太難。

我目前的問題是,當我導入庫的命名空間,我得到一個「ErrorGeneratingOutput」,我還沒有能夠移動過去。

我很難找到關於導入命令如何工作的信息,所以我認爲它很明顯。同時,這個不起作用,所以我想知道它是否可能是標準的例外。

<#@import namespace="System.Data.Entity.Design.PluralizationServices" #> 

我不知道爲什麼添加這條線(和只有這條線)導致一切都打破。我甚至還沒有開始嘗試使用它!在T4中有什麼地方需要了解或閱讀關於圖書館的東西嗎?謝謝!

回答

2

這裏是關於導入指令如何工作的description。如果不知道在您的環境中轉換模板時T4報告的實際錯誤,我只能猜測您沒有添加assembly指令來引用System.Data.Entity.Design程序集。如果這不起作用,請查看由Visual Studio錯誤列表中的T4報告的錯誤,這應該比「ErrorGeneratingOutput」更有幫助。

+0

啊,你是對的。 我加了 <#@程序集名=「System.Data.Entity.Design」#> 我能夠繼續解決其他問題。 謝謝奧列格! – thepaulpage 2009-12-17 17:59:04

相關問題