提问人:Dima 提问时间:5/29/2023 更新时间:5/29/2023 访问量:45
带有(增量)源生成器的“AttributeData”上的片状“ApplicationSyntaxReference”
Flaky `ApplicationSyntaxReference` on `AttributeData` with (Incremental) Source Generator
问:
不幸的是,我没有这个问题的最小样本,但我已经公开推送了 repo,它应该是可重现的:https://github.com/Yeah69/ContainerFeatureSampleComparison
我已经实现了一个源代码生成器,它循环访问引用的程序集,并尝试提取具有特定属性的文件的代码。代码提取如下所示:
var sampleText = attributeData.ApplicationSyntaxReference is {} a
? a.GetSyntax().GetLocation().SourceTree is {} b
? b.GetText().ToString()
: "InnerNull"
: "OuterNull";
在某些情况下,这工作正常,在其他情况下则不然。因此,我在这里假设一种奇怪的片状。
我使用 Rider 作为开发 IDE 和 .Net SDK 7.0.302(如果这很重要的话)。
IDE Source Generator 列表中显示的输出工作正常:
然而,生成的文件有问题:执行 -project 的 Release 版本时出现同样的情况。 处于错误的情况下一定是错误。但它让我感到困惑,因为对于IDE输出,它似乎工作正常。我感谢对此问题的任何帮助。
EmitCompilerGeneratedFiles
Composition
attributeData.ApplicationSyntaxReference
null
答: 暂无答案
评论