코드 수정 프로젝트 진단의 현재 작업 공간 (예 : 프로젝트 경로, 솔루션 경로)에 대한 정보를 얻으려면 어떻게해야합니까?Roslyn : 코드 수정 프로젝트로 진단의 현재 작업 공간
나는
내가하지만 그렇게, 나는 솔루션 인스턴스를
편집이 필요 SymbolFinder.FindImplementationsAsync에 접근 할 필요가 ISyntaxNodeAnalyzer
유형의 진단을 구현하고있다 : 나는 다음과 같은 코드가 있습니다var syntax = (LocalDeclarationStatementSyntax) node;
var type = syntax.Declaration.Type;
var typeSymbol = semanticModel.GetTypeInfo(type).ConvertedType;
typeSymbol의 모든 사용법/참조를 찾고 싶습니다. TypeSymbol은 소스 코드에있는 Class를 나타냅니다.
이렇게하려면 SymbolFinder를 사용하고 싶었지만 SymbolFinder의 메서드에는 Solution 인스턴스가 필요합니다. Roslyn의 이전 버전에서는 문서가 진단의 메서드 매개 변수로 제공되었으므로 프로젝트 및 솔루션을 얻을 수있었습니다.
은 어떻게 든 실제 진단에서 솔루션 인스턴스를받을 수 있습니까? 또는 문서 인스턴스? Roslyn의 이전 버전에는 메소드 매개 변수로 Document가 있습니다. –
또는 현재 진단중인 솔루션 경로를 가져올 수 있습니까? –
당신은 그것들에 도달 할 수 없습니다 - 컴파일러 수준에서 그러한 것들이 존재한다는 보장은 없습니다. 진단 내용을 설명하기 위해 질문을 업데이트하면 더 나은 지침을 제공 할 수 있습니다. –