c# - 将项目转换为 VS 2010 时的命名空间错误

标签 c# visual-studio namespaces migration compatibility

所以我是一名初出茅庐的程序员,被指派去了解一个已经开发了很长一段时间的应用程序(在 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 文件夹。所有正确的引用和 using 语句都按顺序排列:正如我所说,在 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 中编译的非常实用且正在使用的应用程序。
谢谢你的帮助!

最佳答案

我有类似的问题,发现它与有关。目标框架 .检查所有添加的引用是否都是针对同一目标框架的解决方案。

关于c# - 将项目转换为 VS 2010 时的命名空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525011/

相关文章:

C# : how do you obtain a class' base class?

c - 我如何从 C 项目中的 .A 文件调用方法?

c - 在 Windows 中使用 C 列出文件夹中的文件

php - 未找到 PrestaShop 模块类(命名空间)

c# - 添加 WPF 命名空间导致 VSTO 编译错误

c# - Entity Framework Core SaveChanges 不更新记录

c# - Blazor [WASM] System.TypeLoadException : Could not resolve type with token 0100001a

c# - 跨多个项目共享 wwwroot

visual-studio - Visual Studio 2015 无法加载包,因为 Microsoft.VisualStudio.Shell.15.0 无法加载

.net - 继承 xdocument/xelement 命名空间问题(谷歌联系人 API)