在t4模板中可以导入哪些库有任何限制吗?

时间:2009-12-08 15:36:09

标签: silverlight templates t4

我们正在尝试学习使用T4模板。我希望使用System.Data.Entity.Design.PluralizationServices库,以便更好地复制模板中的某些实体模型名称,但我在实现此目标时遇到了一些问题。

  1. 运行代码以生成输出文本。我认为这是可能的,但如果它不起作用,那就没有必要再进一步了。 (我可以调用Date.Now.ToString()并获得预期的结果。我还没有尝试过更复杂的东西)
  2. 我在Silverlight应用程序中,因此我无法在需要生成.cs文件的位置添加PluralizationServices库的项目引用。我计划将.tt文件移动到非SL应用程序,使用命名空间并将生成的文件移动到正确的空间。还没有那么远,所以我不知道会有多少麻烦,但似乎不应该太难。
  3. 我当前的问题是,当我导入库的命名空间时,我得到一个“ErrorGeneratingOutput”,但我还没能继续前进。

    我很难找到有关导入命令如何工作的信息,所以我认为这很明显。但同时,这个不起作用,所以我想知道它是否可能是标准的例外。

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

    我不知道为什么添加这一行(只有这一行)导致一切都破裂。我还没有开始尝试使用它! T4中的库有什么东西我应该知道或阅读吗?谢谢!

1 个答案:

答案 0 :(得分:2)

这里是导入指令如何工作的description。在您的环境中转换模板时,如果不知道T4报告的实际错误,我只能猜测您没有添加assembly指令来引用System.Data.Entity.Design程序集。如果这不起作用,请查看Visual Studio错误列表中T4报告的错误,这应该比“ErrorGeneratingOutput”更有帮助。