【问题标题】:How to ship a .Net library with an included source generator?如何使用包含的源生成器发布 .Net 库?
【发布时间】:2021-10-24 08:08:14
【问题描述】:

我不知道如何发布一个包含 Roslyn 源代码生成器的 .Net 库,并让源代码生成器访问主项目的源代码,而无需将主项目中的显式引用添加到生成器.

目前,我的源生成器只能看到我的lib的源代码,而不能看到主调用项目的源代码。

这是我设置项目的方式:

User "console" test project -> project dependency on -> My lib -> project dependency on -> My source generator

我的 lib 和我的源代码生成器是一起分发的,我希望用户可以引用该 lib,但也不必担心如何设置源代码生成器。

【问题讨论】:

    标签: c# asp.net roslyn csharp-source-generator


    【解决方案1】:

    为此,您应该将库和源生成器作为单个 NuGet 包分发,并将生成器嵌入为分析器。 This documentation 提供了一些示例,说明如何为生成器制作 NuGet 包。这样,当用户安装 NuGet 包时,他们将同时获得两个引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-20
      • 2015-12-21
      相关资源
      最近更新 更多