c# - 批量命名空间重命名

标签 c# namespaces

我正在使用 ASP.NET Web Forms 制作 ERP。我不久前开始研究这个并成功完成了一个版本。我的项目的根命名空间是 EPERP。所以我有其他命名空间,如 EPERP.DataAccessLayer、EPERP.Controllers 等。

现在,由于客户的要求,我将我的项目分成了几个部分。我把代码层分成了一个部分,根据客户的需求把 View 层分成了多个部分。

丑陋的部分是,我通过在 Visual Studio 中打开空的 Web 应用程序项目,然后将相关的 View 文件复制到该项目中来做到这一点。这就是我将一个项目分成四个的方式。

由于我的代码部分是一个单独的项目,我所有与 View 相关的项目都引用了从该项目创建的 dll。

问题是,所有项目都具有相同的命名空间。因此,我的 View 相关项目具有根命名空间 EPERP,并且它们引用了具有根命名空间 EPERP 的 dll。

我的项目都没有相同的文件,但有时我在运行我的项目时遇到此错误,因为它在两个程序集中都指定了一个文件不明确。

无论如何,保持相同的命名空间是一个非常糟糕的决定。

如何更改项目的命名空间以使其也影响子命名空间?

最佳答案

这就是为什么我总是说ReSharper是所有 .NET 程序员必备的。

在您的帖子中,您没有提及使用第三种工具,因此请确保每个项目都有自己的默认命名空间(项目属性 -> 应用程序),然后右键单击解决方案 -> 重构 -> 调整命名空间。

ReSharper 将处理所有 using由于新的命名空间需要。

如果您使用的是文件夹,它会像您预期的那样处理命名空间,例如:namespace MyNamespace.EPERP.MyFolder { ... }会变成namespace MyNamespace.EPERP.MyNewModule.MyFolder { ... }

关于c# - 批量命名空间重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32353020/

相关文章:

c# - ReadAsMultipartAsync 和 MultiPartFormDataStreamProvider 出错

jquery - 在 jQuery 1.7.2 中 ("click") 和 ("click.randomText") 之间有什么区别?

ruby-on-rails - Rails - 用于继承的模型命名空间和文件夹结构

java - 使用 NameSpaceHandler 时 Spring bean 之间的引用

c# - 为什么我的默认值列自动填充日期为 0001 年 1 月 1 日?

c# - 难以将字符串解析为 DateTime

c# - DataTable 到 Array of arrays

c# - 关于 C# 文本文件读取中 65533 � 的问题

c++ - 在 C++ 中使用#define 宏从不同的命名空间中选择实现

c# - Windows 服务无法识别 System.Windows.Forms 命名空间