2016-02-21 52 views
0

我試圖創建一個DiagnosticAnalyzer,它檢測命名空間聲明何時與VS中項目中的目錄位置不同。檢查解決方案中與文件夾相關的命名空間

例子:

Solution 
    - Project 
    - ProjectFolder 
     - MyClass.cs 

namespace Project.ProjectFolder // Good 
namespace Project.OtherSubNamespace // Bad, different from the location 

的問題,我面對的現在,是要找到從分析當前SymbolAnalysisContext源路徑(相對於項目)。在codefix提供程序中,您將使用Document類,但我不確定是否可以從SymbolAnalysisContext

回答

0

使用被分析符號的DeclaringSyntaxReferences property

請注意,可能有零個或兩個或更多個參考。

+0

我明白了,我可以得到源文件的路徑。但有沒有一種方法可以獲得當前的解決方案目錄?有了這些信息,我就可以相對路徑並檢查相對路徑是否與命名空間相對應。我真的只需要源文件的項目路徑! –

+0

不容易,因爲分析器可以在解決方案層(以及VS之外)下運行 – SLaks

+0

噢好吧,那麼我想我正在嘗試做什麼根本不可能...... –

相關問題