T4 использовать типы собственной сборки
От: Аноним  
Дата: 19.01.12 10:20
Оценка:
Не могу задействовать типы из собственной сборки, в которой генерирю классы

В сборке описанные некоторые данные при помощи атрибутов, объявленных в этой же сборке. На основе этих данных хотел построить некоторые классы.

Ожидал, что генератор T4 определит типы сборки сам, нет.
<#@ assembly name="MyLibrary.dll" #> тоже не помогает.

возможно ли такое?
Re: T4 использовать типы собственной сборки
От: hardcase Пират http://nemerle.org
Дата: 19.01.12 10:46
Оценка:
Здравствуйте, Аноним, Вы писали:

А>возможно ли такое?


Шаблон T4 компилирутся ДО того как скомпилируется ваша сборка. Это особенность всех статических метасистем.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: T4 использовать типы собственной сборки
От: Аноним  
Дата: 19.01.12 10:52
Оценка:
H>Шаблон T4 компилирутся ДО того как скомпилируется ваша сборка. Это особенность всех статических метасистем.

Я предпологал, что компилируется шаблон не во время сборки моей библиотеки, а по желанию или во время изменения шаблона.
И потом, существуют предыдущая скомпилировання сборка.
Re: T4 использовать типы собственной сборки
От: HowardLovekraft  
Дата: 19.01.12 10:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>возможно ли такое?

Вариант 1.
Если генерация должна быть в рантайме, то в свою сборку добавляете Preprocessed Text Template, добавляете к нему код, который будет принимать, например, перечень нужных атрибутов, и вызываете этот template в рантайме. Понятно, что результат генерации в эту же самую сборку вы не запихаете.

Вариант 2.
Если генерация должна быть на этапе написания кода (т.е. есть какой-то класс, на него нужно натравить шаблон, и получить другой класс), то используйте code model. См. например, эту
Автор: HowardLovekraft
Дата: 15.02.11
тему.
Re: T4 использовать типы собственной сборки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.01.12 20:49
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>возможно ли такое?


Можно так:
<#@ assembly name="$(TargetDir)\MyLibrary.dll" #>


В 2008 студии не работает и, естественно, сборка должна быть предварительно скомпилирована.
... << RSDN@Home 1.2.0 alpha 5 rev. 16 on Windows 7 6.1.7601.65536>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.