[英]how to change namespace of entire project?
我正在修改本文中的演示應用程序: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
我需要更新所有文件以使用我的命名空間,例如現在位於此處的文件:
MySolution\MyApp\DemoApp\ViewModel\MainWindowViewModel.cs
正在使用這樣的命名空間:
namespace DemoApp.ViewModel
{
/// <summary>
/// The ViewModel for the application's main window.
/// </summary>
public class MainWindowViewModel : WorkspaceViewModel
我需要將文件移至此處(刪除 DemoApp 文件夾):
MySolution\MyApp\ViewModel\MainWindowViewModel.cs
並使用正確的命名空間:
namespace MyApp.ViewModel
{
....
如何在 visual studio 2010 中做到這一點?
在這里更新ok 是可能的 duplicate Change Project Namespace in Visual Studio現在我知道如何更改項目的命名空間,但是如何在文件系統上移動文件? (擺脫“DemoApp”文件夾)
轉到命名空間在您的文件之一中聲明的某個地方。 將光標放在要更改的命名空間部分,然后按F2 。 這應該重命名每個文件中的命名空間。 至少,它在我為測試這個答案而創建的小演示項目中有效!
根據您的 VS 版本,快捷方式也可能是Ctrl - R 、 Ctrl - R 。
我想一個簡單的替換文件( Ctrl + Shift + H )就可以解決問題; 只需將namespace DemoApp
替換為namespace MyApp
。 之后,構建解決方案並查找未知標識符的編譯錯誤。 任何完全合格的DemoApp
都需要更改為MyApp
。
Ctrl + Shift + H不是真正的解決方案。
您可以使用 Resharper 更改解決方案中的所有命名空間定義。 這是我之前嘗試過的最好方法。
https://www.jetbrains.com/resharper/features/code_refactoring.html
您可以使用CTRL + R 、 CTRL + R或對於復雜的命名空間更改,請使用此工具https://marketplace.visualstudio.com/items?itemName=vs-publisher-599079.FixNamespace
我使用名為 BareGrep 的工具檢查了文件夾結構,以確保我獲得了所有命名空間更改。 它是一個免費工具,可讓您搜索指定文件結構中的文件。
我嘗試了一切,但我找到了一個真正有效的解決方案。 它使用新的命名空間名稱等創建獨立的解決方案。
在主窗體中找到命名空間名稱 -> 右鍵單擊 -> 重構 -> 重命名並選擇一個新名稱。 選中所有框並單擊“確定”。
在解決方案資源管理器中,將解決方案名稱重命名為新名稱。
在解決方案資源管理器中,將項目名稱重命名為新名稱。
關閉 VS 並將解決方案文件夾中的文件夾(例如總指揮官)重命名為新名稱。
在 .sln 文件中,將舊名稱重命名為新名稱。
刪除舊的 .suo 文件(隱藏)
啟動VS並加載項目
項目 -> 屬性 -> 將程序集名稱和默認命名空間更改為新名稱。
我知道這已經很晚了,但是對於從現在開始想要這樣做的任何人,我希望這個答案證明會有所幫助。 如果您安裝了CodeRush Express
( 免費版,並且是“必備”),它提供了一種更改項目范圍命名空間的簡單方法。 您只需將光標放在要更改的命名空間上,它就會在namespace
字符串下方顯示一個smart tag
(一個小藍框)。 您可以單擊該框或按Ctrl +鍵以查看Rename
選項。 選擇它,然后為項目范圍的命名空間輸入新名稱,單擊Apply
並在新對話框中選擇您希望它更改的項目位置,然后OK
。 完畢! :-)
當我想更改命名空間和解決方案名稱時,我執行了以下操作:
1)通過選擇命名空間並重命名它來更改命名空間,我對解決方案名稱也做了同樣的事情
2)單擊燈泡並重命名舊命名空間的所有實例
3)從解決方案中刪除所有項目
4)關閉視覺工作室
5)重命名Windows資源管理器中的所有項目
6)打開visual studio並再次添加所有項目
7) 在所有項目的屬性中重命名命名空間
8) 刪除 bin 文件夾(來自所有項目)
9)再次構建項目
這對我來說沒有任何問題,而且我的項目也有源代碼控制。 將這些更改推送到遙控器后一切正常。
重命名項目時,這是一個簡單的過程
在 VS 2019 中,您可以使用以下步驟重命名命名空間
任何在VS Code
上嘗試的人,使用典型的Rename
選項,這將更新所有命名空間的使用,如果項目名稱發生更改,您將不得不進入每個.csproj
並替換新的項目名稱。
不要忘記運行dotnet restore
,然后它才會停止顯示構建問題。
Visual Studio 2022 有一個新功能同步命名空間。
您需要在解決方案資源管理器中右鍵單擊項目或解決方案。
如果您有 C# 個文件已在文件夾之間移動並且命名空間不同步,則此功能應該派上用場,可以根據文件為每個文件設置正確的命名空間。 格式。
當您執行遺留代碼庫的遷移時,這將特別有用。
參考資料: https://nitinmanju.medium.com/de-clutter-namespaces-using-c-10-60822af79336
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.