2014-08-30 71 views
0

我發現項目中的子目錄中至少有一個文件沒有設置命名空間,導致問題。如何在Visual Studio中查找沒有命名空間的C#文件?

如何找到缺少名稱空間的其他文件?

我搜索谷歌和堆棧溢出無濟於事。我可以想象它可以通過RegEx在文件中查找完成,但我的RegEx有點生疏。

+0

只是grep的文件,不包含實際的單詞'「命名空間」'? Visual Studio不會爲相關文件提供錯誤? – 2014-08-30 16:38:40

+0

@BenjaminGruenbaum我在Windows系統上,沒有'grep'。 VS確實不會拋出任何錯誤。我認爲這可能只是一個受影響的類,但我想仔細檢查一下。 – 2014-08-30 16:46:36

+0

Ctrl + Shift + F正則表達式搜索「負向前視」命名空間然後任何「 – 2014-08-30 16:47:30

回答

1

嗨我觀察到一個直觀的東西,內置在Visual Studio本身。打開在Visual Studio中的解決方案和

點擊查看>對象瀏覽器

。這裏列出了所有的dll和Projects。如果首先展開每個項目,它將顯示名稱空間,並在其中顯示子項,如類,接口,枚舉,委託...。如果任何類沒有命名空間,然後它會在類文件夾空間外面

另一種方式是

如果您的代碼編譯罰款,那麼你可以檢查編譯EXE或DLL在'IL反彙編'中。

要打開GUI,請轉至Start > Programs > Visual Studio 2013 > Visual Studio Tools > VS2013 x64 Native Tools Command Prompt並執行ildasm

沒有命名空間的類將單獨列出,具有命名空間的類將在其各自的分組中列出。

+0

不錯,這是一個有趣的工具,謝謝! – 2014-08-30 17:28:43

+0

嗨,我觀察到一個直觀的東西,它建立在Visual Studio本身中,在Visual Studio中打開解決方案並單擊視圖>對象瀏覽器在這裏列出所有的dll和項目。如果你首先展開每個項目,它將顯示名稱空間,並在其中顯示子項,如類,接口,枚舉,委託...。如果任何類沒有名稱空間,則它將位於名稱空間外部的Classes文件夾中 – 2014-10-10 09:15:24

+0

if你喜歡這個我會更新我的答案,你可以把這個問題標記爲nswered。謝謝 – 2014-10-10 09:16:05

1

如果您可以獲得ReSharper,它會在項目(可能是解決方案)的右鍵菜單中爲adjust namespaces添加一個選項 - 根據目錄選擇不在正確名稱空間中的任何類每個文件都在。