Я работаю над автономным инструментом, который ищет определенные узлы типа string (например: StringLiteralExpression) из одной сборки.Это прекрасно работает со строками в одной сборке, но у меня возникают проблемы при перемещении между сборками.
Так что в основном следует следующее:
- Получить узлы строк в сборке A
- Ищите все строковые узлы, доступные из сборки A в решении
Я думаю о расширении и изучении всех Invocation Expressions в сборке A и рекурсивном обходе деревьев синтаксиса метода в поисках другихстроки.Но я не могу заставить его работать так, как я ожидал.
Я пытался использовать SymbolFinder.FindImplementationsAsync
, но он всегда возвращает нулевые или общие символы сторонних библиотек.
Как я могу получить определения из других сборок?
Я уже пытался передать оба символа model.GetSymbolInfo(node).Symbol
и model.GetDeclaredSymbol(currentNode)
в SymbolFinder, и он не работает.
Спасибо за помощь