在Roslyn Analyzer/Source Generator中,是否有任何方法可以区分直接和传递程序集引用.<



AIUI,传递引用是MSBuild而不是Roslyn的特性,并且与Package/projectrereferences而不是汇编引用有关。我相信编译器只是得到一组提供给它的程序集引用,而没有关于它们来自何处的信息。因此,我看不出有任何方法可以区分来自分析器或源生成器(即给定一个CodeAnalysis)的直接引用和传递引用。编译对象)。编译。引用包括可传递的,就像compile . referencedassemblynames一样。

有谁知道得到这个信息的方法吗?是否有可能获得MsBuild项目对象,从中可以收集它?

没有办法得到这个信息;正如你所观察到的MSBuild正在这样做,当Roslyn得到信息时,它只是一个平面列表。由于各种技术原因,我们没有任何方法可以返回MSBuild实例。如果你能说清楚你为什么需要这个,我们也许能给你一些下一步的建议。

相关内容

  • 没有找到相关文章

最新更新