2014-04-01 130 views
1

我們正在更改產品的名稱,所以我也想重命名我們的 框架類的命名空間。但是現在我遇到了這個問題,我不知道我們的命名空間在哪些程序和腳本中被使用。在c#中有沒有辦法在兩個不同的命名空間中定位同一個類?同一類的兩個命名空間

我知道解決方案,我可以從我的類繼承新的命名空間,但這是一個非常糟糕的解決方案,我認爲。所以我不知道如何解決這個問題,因爲簡單地重命名所有的命名空間並沒有幫助,並且會導致很多麻煩。

謝謝!

+0

難以創建程序集的新版本嗎?你也可以看看類型轉發。 – leppie

+0

這不會解決問題,因爲我在python腳本中使用程序集,如果我創建一個新版本並部署它,腳本將不再工作。 – BendEg

+0

然後使用舊版本,這是什麼版本是關於! – leppie

回答

1

如果外部腳本使用舊名稱空間名稱引用您的程序集,那麼這些名稱將不得不保留在程序集中,以便您希望繼續使用這些腳本。如果您還想創建新的名稱空間名稱以反映產品的新名稱,那麼這些名稱也需要硬編碼到您的程序集中。這將不可避免地導致問題!

我會建議下列之一:

  1. 離開名字空間的名字,因爲它們。
  2. 重命名命名空間並同時更新Python腳本。

我絕對不會推薦人造的「繼承」方法,或任何其他解決方案,這會導致程序集中的重複。

+0

我會實現你的第二個解決方案。我認爲這是最簡單的一個.... – BendEg

1

當然,您可以搜索整個項目/解決方案,但如果您不僅僅是一個小項目,而且看起來也很麻煩和耗時。

您使用的是Resharper嗎?對於這種類型的任務,你絕對應該是。如果是這樣,有一個機會,這至少可以幫助你的方式:

  • 重命名你的源文件的文件夾在Visual Studio解決方案資源管理器(這在理論上應該比看着每一個源文件更容易一個接一個,對嗎?)。
  • 現在打開一個源文件,由於重命名的文件夾,您知道該文件名稱空間不對。它應該出現藍色波浪線,如下圖所示。
  • 使用Resharper提示(左側的金字塔或Alt + Enter)打開下面顯示的上下文菜單。
  • 選擇在範圍中查找此類型的所有問題,並選擇解決方案作爲您的範圍。這至少可以幫助您瞭解需要更改名稱空間的哪些類,並通過它們進行系統化更改。

enter image description here

至於你的腳本,我猜,你最好的辦法是做舊的命名空間的一個純文本搜索 - 可能是搜索和替換。也許你可以在VS解決方案中包含你的腳本,並使用內置的搜索來掃描和修復它們。這可能至少可以緩解一點痛苦。

相關問題