所以我是一个初出茅庐的程序员,被分配去了解一个已经开发了很长一段时间的应用程序(在 VS2005 中,然后在 2008 年)。在项目的整个生命周期中,其中的命名约定变得有些复杂。为了举例,这里是一段命名结构。
_MegaCorp.sln
Application_Install
Megacorp
DbResources.csproj
Forms
Megacorp.Forms.Concept.csproj
Properties
Resources
Megacorp
Forms
Concept
xyz.cs
这可能不是组织信息的最佳方式,但它在 VS2008 中运行良好。更新到 VS2010 不需要对现有代码进行大修,对吧?
发生的事情是这样的:当 xyz 调用 DbResources 时,Visual Studio 正在查找 Megacorp.Forms.Concept.Megacorp,而不是父级 Megacorp 文件夹。所有正确的引用和使用语句都是有序的:正如我所说,在 VS2008 中一切正常。这里发生了什么事?
Error 826 The type or namespace name 'xxx' does not exist in the namespace 'MegaCorp.Forms.Concept.Megacorp.Forms.Concept' (are you missing an assembly reference?) C:\x\y\c-sharp\Megacorp\Forms\Concept\ConstructEditor.Designer.cs 99 63 MegaCorp.Forms.Concept
更新:如果我global::
在每次使用 xyz.cs 中的类之前添加,这可以解决问题。但是,大约有 1,000,000 行代码,编译器报告的错误超过 400 个。我敢肯定,如果我梳理 400 个错误中的global::
每一个,在每个错误之前粘贴,就会出现更多错误。必须有另一种方法来做到这一点,因为同样,该解决方案包含一个在 VS2008 中编译的非常实用且正在使用的应用程序。谢谢你的帮助!