C# 移动命名空间块会导致找不到命名空间

C# 移动命名空间块会导致找不到命名空间,c#,namespaces,visual-studio-2013,C#,Namespaces,Visual Studio 2013,我有一个MVC4.0应用程序(包含76个项目) 我通过将usings块移到每个名称空间声明之上,并将using块放在名称空间声明之下,开始了一些重构。StyleCop指出,这是一种常见的做法 突然间,甚至在同一程序集中也找不到某些引用的名称空间 (我检查了76个项目是否都针对.NET4.0框架,也就是说) (编辑) 小更新:我觉得VisualStudio扩展了引用的名称空间。 此原始代码导致缺少命名空间: namespace Progis.Kim.Application.UI.Controlle

我有一个MVC4.0应用程序(包含76个项目)

我通过将usings块移到每个名称空间声明之上,并将using块放在名称空间声明之下,开始了一些重构。StyleCop指出,这是一种常见的做法

突然间,甚至在同一程序集中也找不到某些引用的名称空间

(我检查了76个项目是否都针对.NET4.0框架,也就是说)

(编辑) 小更新:我觉得VisualStudio扩展了引用的名称空间。 此原始代码导致缺少命名空间:

namespace Progis.Kim.Application.UI.Controllers
{
    using System.Web.Mvc;
    using Progis.Kim.Application.UI.Support; 
}
但当使用此代码时,VS可以看到:

namespace Progis.Kim.Application.UI.Controllers
{
    using System.Web.Mvc;
    using Support;
}

似乎VS将using与默认名称空间连接起来…

如果您有一个名称空间层次结构,如
a.B.System.C
和move
using System.D
名称空间A.B
声明的外部到内部,我认为这是试图引用
A.B.System.D
而不是
global::System.D
Damien,问题是using在同一程序集中保留了一个无法找到的名称空间…正如我试图说的那样,我会在项目的其他地方寻找任何潜在的命名冲突,例如当
使用的
在名称空间之外时,它显然使用了完全限定的名称空间名称,但现在它在名称空间内部,名称的第一部分与名称空间的本地内容相匹配。您能提供详细信息吗?我在web应用程序中有17个解决方案文件夹。其中一个是控制器。一个特定的控制器在名称空间之外具有using。我将它们移动到名称空间中,突然发现其中5或6个用法不再被识别。使用Intellisense时,找到的唯一解决方案是“控制器”。。。。