Использование. NET основных сборок в шаблонах T4 - PullRequest
1 голос
/ 10 февраля 2020

В настоящее время мы переносим проект с. NET Framework на. NET Core 3.1, и у нас возникла проблема с работой некоторых наших шаблонов T4. Эти шаблоны импортируют одну или несколько сборок из нашего решения для генерации кода с использованием отражения. Сборки. NET Core 3.1 библиотеки. Кажется, проблема в том, что механизм T4 в Visual Studio 2019 работает на Framework и не может правильно загрузить сборки Core.

При запуске шаблонов я получаю ReflectionTypeLoadException. После проверки исключения выясняется, что двигатель T4 не может найти System.Runtime. Для этого есть некоторый обходной путь ( здесь ), но когда я применяю это, это просто перемещает проблему к следующей зависимости, которая является пакетом NuGet. Поэтому обходной путь не работает.

Есть ли способ заставить шаблоны T4 работать с. NET Сборками Core 3.1? Или есть какая-то аналогичная альтернатива шаблонам T4, которая работает с. NET Core 3.1?

1 Ответ

0 голосов
/ 20 марта 2020

У меня была эта проблема, и я не смог найти хороших решений. Поэтому я разработал альтернативный инструмент T4, который использует гибрид возможностей Visual Studio. NET Framework T4 для предварительной обработки и исполняемый файл. NET Core для выполнения кода шаблона. Это доступно от GitHub . Он хорошо работает для моего проекта и, надеюсь, может помочь и другим.

...