如何将一个包含源代码生成器的 .Net 库打包发布?

6
我不知道如何发布一个同时包含Roslyn源生成器的.Net库,并使源生成器能够访问主项目的源代码,而无需在主项目中显式添加对生成器的引用。
目前,我的源代码生成器只能看到我的库的源代码,而看不到主调用项目的源代码。
这是我设置项目的方式:
用户“控制台”测试项目 -> 依赖于 -> 我的库 -> 依赖于 -> 我的源生成器
我的库和源生成器一起分发,我希望用户引用库时不必担心设置源生成器。
1个回答

6
为了实现这个目标,你应该将你的库和源代码生成器打包成一个NuGet包,并将生成器嵌入作为分析器。 这篇文档 提供了如何制作仅包含生成器的NuGet包的示例。这样一来,当用户安装NuGet包时,他们就可以同时获得两者的引用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接