如何使用T4将类从一个项目转换为另一个项目?

blo*_*aak 5 c# t4 visual-studio-2010

假设我有一个带有许多C#类的项目(比如ProjectA),并且这些类不引用项目外部的任何类型和System.dll程序集的类型.ProjectA中的类可能具有方法,属性,字段和自定义属性.类也可以存在于不同的名称空间中.

如何使用T4将所有这些类(包括方法,属性,字段和自定义属性)从ProjectA转换为另一个项目(例如ProjectB)中的相关集合.

Gar*_*thJ 2

沃纳,你当然可以做到。一个好的技术是使用 VS 的代码模型。这里有一些示例的指针:http://blogs.msdn.com/b/garethj/archive/2009/09/25/dte-and-t4-better-together.aspx

您可以使用代码模型将类作为元数据读取,而无需编译,然后使用该元数据作为输入进行生成。然后,您可能需要查看 Oleg Sych 的 T4 Toolbox ( http://t4toolbox.codeplex.com ),将输出投影到辅助项目中。

  • 虽然尚未最终确定,但我会考虑 Roslyn:http://www.microsoft.com/download/en/details.aspx?id=27746 (2认同)