Похоже, вы действительно используете T4 просто для запуска сценариев, а не для генерации выходных данных из самой системы шаблонов.Вместо этого вы явно генерируете выходные данные как сборку.
T4 в VS2010 всегда использует 4.0 runtime / clr для компиляции, и, похоже, нет способа попросить метод RegEx.Compile выплевыватьиз сборки 2.0.
Даже если вы переместите RegEx.Compile в вспомогательную библиотеку, созданную для цели 2.0, то при загрузке в 4.0 CLR он просто объединится до версии 4.0.
Вместо этого вам нужен способ получить 2.0 CLR в память, для которого, безусловно, самый простой способ - переместить код шаблона в его собственный exe.
Затем вы можете вызвать этот exe из пользовательскогоПравило предварительной сборки проекта.