Сгенерируйте шаблонный код на основе классов из другого проекта
У меня есть решение Visual Studio с парой проектов C#. Один из них содержит классы моей предметной области и не имеет зависимостей от инфраструктуры, а другой содержит классы, которые зависят от различных сторонних библиотек, это то, что вы бы назвали проектом инфраструктуры.
Для каждого класса в моем доменном проекте я должен написать соответствующий класс в моем инфраструктурном проекте, который содержит лишь некоторый шаблонный код, необходимый для использования функции одной из сторонних зависимостей, поэтому я хотел бы сгенерировать его автоматически всякий раз, когда мой доменный класс измененный.
Мне удалось сгенерировать классы, содержащие этот шаблонный код, путем создания исходного генератора с a, который добавляет абстрактное синтаксическое дерево моих классов домена, для которого мне нужно сгенерировать шаблонный код в список, который затем используется моим исходным генератором для создания требуемые классы. Затем я добавил этот генератор исходного кода в качестве ссылки на проект моей предметной области, но у меня возникла проблема: классы инфраструктуры, которые мне нужно сгенерировать, наследуются от класса сторонней зависимости, поэтому я должен добавить эту стороннюю зависимость в мой проект домена.
Я попытался добавить свой исходный генератор в качестве ссылки на мой проект инфраструктуры (который уже ссылается на стороннюю зависимость, а также на мой проект домена), но исходный генератор не запускается, потому что
Кто-нибудь знает, можно ли создать генератор исходного кода, который генерирует код на основе классов в проектах, на которые ссылается проект, который ссылается на этот генератор исходного кода?
Я знаю AnalyzerAdditionalFiles, но похоже, что его следует использовать для принятия решений о генерации, основанных не только на коде C#.