Как можно использовать T4 для преобразования классов из одного проекта в другой? - PullRequest
5 голосов
/ 04 февраля 2012

Предположим, у меня есть проект (скажем, ProjectA) с несколькими классами C #, и что эти классы не ссылаются на какие-либо типы вне проекта и типа сборки System.dll.Классы в ProjectA могут иметь методы, свойства, поля и пользовательские свойства.Классы могут также существовать в разных пространствах имен.

Как можно использовать T4 для преобразования всех этих классов, включая методы, свойства, поля и пользовательские атрибуты, из ProjectA в связанный набор в другом проекте (скажем, ProjectB).

1 Ответ

2 голосов
/ 04 февраля 2012

Вернер, ты, конечно, можешь это сделать.Хорошая техника - использовать модель кода VS.Здесь есть несколько указателей на примеры: http://blogs.msdn.com/b/garethj/archive/2009/09/25/dte-and-t4-better-together.aspx

Вы бы использовали модель кода, чтобы читать классы как метаданные без компиляции, а затем генерировать, используя эти метаданные в качестве входных данных.Возможно, вы захотите взглянуть на T4 Toolbox Олега Сыча (http://t4toolbox.codeplex.com), чтобы спроецировать результат в дополнительный проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...