C# 基于另一个项目中的类生成样板代码

C# 基于另一个项目中的类生成样板代码,c#,.net,visual-studio,sourcegenerators,C#,.net,Visual Studio,Sourcegenerators,我有一个VisualStudio解决方案和几个C#项目。其中一个包含我的域类,没有基础设施依赖项,另一个包含依赖于各种第三方库的类,这就是所谓的基础设施项目 对于我的域项目中的每个类,我必须在我的基础设施项目中编写一个对应的类,该类只包含使用某个第三方依赖项功能所需的一些样板代码,因此我希望在我的域类发生更改时自动生成该类 我能够通过创建一个带有ISyntaxReceiver的类来生成包含此样板代码的类,它将我需要为其生成样板代码的域类的抽象语法树添加到一个列表中,然后由我的源生成器使用该列表来

我有一个VisualStudio解决方案和几个C#项目。其中一个包含我的域类,没有基础设施依赖项,另一个包含依赖于各种第三方库的类,这就是所谓的基础设施项目

对于我的域项目中的每个类,我必须在我的基础设施项目中编写一个对应的类,该类只包含使用某个第三方依赖项功能所需的一些样板代码,因此我希望在我的域类发生更改时自动生成该类

我能够通过创建一个带有
ISyntaxReceiver
的类来生成包含此样板代码的类,它将我需要为其生成样板代码的域类的抽象语法树添加到一个列表中,然后由我的源生成器使用该列表来创建所需的类。然后,我添加了这个源生成器作为我的域项目的项目引用,但我有一个问题:我需要生成的基础结构类继承自第三方依赖项的类,因此我必须将该第三方依赖项添加到我的域项目中

我试图做的是将我的source generator作为项目引用添加到我的基础设施项目(它已经引用了第三方依赖项,也引用了我的域项目)但是源生成器没有运行,因为引用的域项目中的任何类都没有调用
ISyntaxReceiver
OnVisitSyntaxNode
方法

有人知道是否可以创建一个源生成器,该源生成器根据引用该源生成器的项目引用的项目中的类生成代码吗

我知道AnalyzerAdditionalFiles,但似乎应该使用它来做出基于C#代码以外的生成决策