В генерации кода T4, как я могу получить тип из ссылочной сборки? - PullRequest
4 голосов
/ 16 февраля 2012

Поскольку T4 работает вне контекста проекта, у меня нет доступа к текущей сборке или другим сборкам. Как я могу зарегистрировать доступ к ссылочной сборке, а затем извлечь из нее тип?

Ответы [ 2 ]

3 голосов
/ 20 февраля 2012

Я предполагаю, что вы хотите получить доступ к сборке вашего здания в вашем проекте.В приведенном ниже примере кода я добавил в свое решение проект TestLib, который я создаю в папке. \ T4Libs в каталоге решений.TestLib имеет класс MyHelper, который содержит магическое число.

FYI VS2010 SP1 добавил замечательную особенность в том, что он больше не блокирует импортированные сборки, поэтому это хорошая версия для использования.

<#@ assembly   name        = "$(SolutionDir)\T4Libs\TestLib.dll"  #>
<#@ import     namespace   = "TestLib"                            #>

<#
   var myHelper = new MyHelper ();
#>

// <#=myHelper.MagicNumber#>
0 голосов
/ 16 февраля 2012

Ищете директиву Assembly и / или ищете что-то в классе System.Reflection.Assembly (например, LoadFile)?

...