【发布时间】:2019-02-11 11:08:51
【问题描述】:
我正在尝试使用FindReferencesAsync 查找类型符号的所有引用。它适用于 C# 项目中的引用;但是,不会出现跨项目引用。这是我正在使用的代码。
var model = compilation.GetSemanticModel(_sourceFile.GetSyntaxTree());
ISymbol classSymbol = model.GetDeclaredSymbol(typeDeclarationSyntax);
referencedSymbols.AddRange(SymbolFinder
.FindReferencesAsync(classSymbol, _solution)
.Result.ToList());
【问题讨论】:
-
请明确一点,您的编译是否引用了包含使用类型的项目?
-
加载的项目在 ProjectReferences 属性中显示项目引用。但是,编译诊断显示错误(找不到类型或命名空间“Lib”(您是否缺少 using 指令或程序集引用?)
-
你是如何打开项目并创建编译的?您可能需要自己手动添加
ProjectReferences。如果您看到编译错误,可能就是这种情况。
标签: c# roslyn roslyn-code-analysis