Bro*_*ook 38 .net c# refactoring visual-studio
首先,一点背景.
目前我们的代码库中的命名空间和程序集(约60个程序集,数千个类)看起来像
WidgetCompany.Department.Something
Run Code Online (Sandbox Code Playgroud)
我们现在已经分拆出来,因此我们正在销售驱动WidgetCompany的软件,因此我们想重命名命名空间和程序集
NewCompany.Something
Run Code Online (Sandbox Code Playgroud)
在正常情况下,我可能只是坚持使用旧命名空间,但问题是我们的客户不希望在应用程序的任何位置看到其竞争对手的名称.如果他们看到堆栈跟踪,装配属性等,它不应该出现.这并不意味着隐藏我们的员工或做任何险恶的事情,我们只需要确保人们知道我们是一个独立的实体,独立的管理,他们不需要担心数据被共享等.
现在的问题.执行此类所有包含重命名的最佳方法是什么?以下内容需要更改:
using应用程序中引用旧名称的每个语句我是否坚持使用寻找 - 替换祈祷策略还是有更好的东西?
fra*_*ins 45
右键单击当前命名空间并选择Refactor - > Rename,然后在稍后出现的弹出窗口中更改名称.输入新名称,然后单击"确定".
如果您的命名空间有多个深度,则Visual Studio将不允许您键入点.但是,如果您复制并粘贴一个点,尽管有警告,它将开展业务.
ReSharper的.从JetBrains免费获得5.1版本30天(足够的时间进行重命名).将光标放在要更改的命名空间上,然后按两次Ctrl-R(ReSharper Rename).它将使用任意数量级别的命名空间,并将该命名空间的任何用法转换为新的命名空间.但是,您必须更改解决方案中的每个唯一命名空间(除非您只使用查找/替换)
对于 Visual Studio 2022,这个问题终于得到了解决:
整个项目中的命名空间现在应该反映文件夹结构。
如果您有 ReSharper:
右键单击项目,属性。将默认命名空间更改为所需的命名空间。
右键单击项目,重构->调整命名空间以更新所有命名空间以使用默认命名空间
然后就让它发挥它的魔力吧。
| 归档时间: |
|
| 查看次数: |
23773 次 |
| 最近记录: |