如何更改整个项目的命名空间?

jav*_*red 98 c# visual-studio

我正在修改本文的演示应用程序:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

我需要更新所有文件以使用我的命名空间,例如现在位于此处的文件:

MySolution\MyApp\DemoApp\ViewModel\MainWindowViewModel.cs
Run Code Online (Sandbox Code Playgroud)

使用这样的命名空间:

namespace DemoApp.ViewModel
{
/// <summary>
/// The ViewModel for the application's main window.
/// </summary>
public class MainWindowViewModel : WorkspaceViewModel
Run Code Online (Sandbox Code Playgroud)

我需要在这里移动文件(删除DemoApp文件夹):

MySolution\MyApp\ViewModel\MainWindowViewModel.cs
Run Code Online (Sandbox Code Playgroud)

并使用正确的命名空间:

namespace MyApp.ViewModel
{
....
Run Code Online (Sandbox Code Playgroud)

如何在visual studio 2010中做到这一点?

在这里更新确定可能重复在Visual Studio中更改项目命名空间现在我知道如何更改项目的命名空间,但如何在文件系统上移动文件?(摆脱"DemoApp"文件夹)

Amy*_*Amy 143

转到某个位置,在一个文件中声明命名空间.将光标放在要更改的命名空间部分上,然后按F2.这应该重命名每个文件中的命名空间.至少,它在我创建的小型演示项目中工作,以测试这个答案!

根据您的VS版本,快捷方式也可能是Ctrl- R,Ctrl- R.

  • @javapowered,然后你的热键已经定制.查看VS的选项.今天我的是CTRL-R CTRL-R. (6认同)
  • 注意:虽然我仍然更喜欢这种方法,但它[理论上]无法替换视图和目录中包含的web.config文件中的引用.只是注意那些. (4认同)
  • 是的,这是最简单的方法. (3认同)
  • 对于不应依赖于热键更改的版本,只需右键单击命名空间名称并选择重命名. (3认同)
  • 由于某种原因对我不起作用。我按 F2 什么也没发生。 (2认同)
  • 不幸的是,如果您希望新名称包含`.`字符,则不起作用. (2认同)

Ada*_*ras 118

我想象一个简单的替换文件(Ctrl+ Shift+ H)就可以了.只需更换namespace DemoAppnamespace MyApp.之后,构建解决方案并查找未知标识符的编译错误.任何完全合格的东西DemoApp都需要改为MyApp.

  • 重要; 也改变project-properties中的default-namespace; 这可以控制像resx这样的命名空间 (58认同)
  • 您还应该在任何`using`语句上运行Replace以从`使用DemoApp`更改为`使用Myapp`. (5认同)
  • 还要在views文件夹中的所有web.config文件中重命名<add namespace ="OldNameSpace"/> (5认同)

Anu*_*ewa 25

只需右键单击解决方案,转到属性,在"应用程序"部分下更改"默认命名空间".

在此输入图像描述

  • 它会更改现有文件中的名称空间吗? (3认同)
  • 不,不会。 (3认同)

viv*_*una 6

Visual Studio 2022 有一个新功能同步命名空间。

您需要右键单击解决方案资源管理器中的项目或解决方案。

在此输入图像描述

如果您的 C# 文件已在文件夹之间移动并且命名空间不同步,则此功能应该会派上用场,可以根据 . 格式。

当您执行旧代码库的迁移时,这尤其有用。

参考https ://nitinmanju.medium.com/de-clutter-namespaces-using-c-10-60822af79336


mko*_*mko 5

您可以使用CTRL+ RCTRL+R或对于复杂的命名空间更改,请使用此工具https://marketplace.visualstudio.com/items?itemName=vs-publisher-599079.FixNamespace