[英]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.