提问者:小点点

取消命名空间c#visual studio的测试


作为一个大项目的一部分,我有一个嵌套的名称空间DO

namespace IDAL
{
    namespace DO
    {
        public struct MyStruct
        {
            // Code
        }
    }
}

我需要将IDAL命名空间的名称更改为DalApi,并将嵌套的命名空间IDAL. DO更改为DO

第一部分使用Visual Studio重命名选项非常简单。

我在第二部分遇到了更多的困难。我无法使用重命名选项提取名称空间并使其成为非嵌套名称空间。

我试着像这样删除外部名称空间,

    namespace DO
    {
        public struct MyStruct
        {
            // Code
        }
    }

但是我需要开始修复引用命名空间的所有时间(即IDAL. DO. WeghtClass-其中WeghtClass是枚举,需要更改为DO. WeghtClass,仅举一个例子)。虽然这似乎行得通,但似乎有许多困难的工作可能有更容易的解决办法。

我尝试使用Ctrl H搜索和替换功能来尝试替换发生这种情况的所有实例,但似乎没有解决问题(整个解决方案设置为替换)。

是否有VisualStudio2019工具可以轻松地将嵌套命名空间更改(重构)为非嵌套命名空间?


共2个答案

匿名用户

在Visual Studio中,当光标位于MyStruct上时,执行CTRL在其上:

然后点击“移动到名称空间…”并编写您想要的名称空间,VS将处理其余部分:

匿名用户

您是否还需要有效的命名空间IDAL。是否要更改?如果没有,您可以简单地切换到完全限定的命名空间,如下所示:

namespace IDAL.DO
{
    public struct MyStruct
    {
        // Code
    }
}

如果您确实想将整个名称空间更改为简单的do,那么重构工具确实是您需要使用的。以下链接将帮助您开始这方面的工作:

https://dev.to/gopkumr/adjust-namespaces-automatically-visual-studio-2019-1f0bhttps://docs.microsoft.com/en-us/visualstudio/ide/refactoring-in-visual-studio?view=vs-2022https://docs.microsoft.com/en-us/visualstudio/ide/reference/extract-method?view=vs-2022https://docs.microsoft.com/en-us/visualstudio/ide/reference/move-type-to-matching-file?view=vs-2022