Home Articles

Visual Studio 2010突然看不到命名空间?

Asked
Viewed 1541 times
83

我的C#WinForms解决方案有两个项目 . 一个DLL,它是我正在研究的主要项目,以及一个可执行的WinForms,我称之为“Sandbox”,这样我就可以一次性轻松地编译/运行/调试DLL .

我在两个项目的.Net 4.0工作 .

一切都工作正常,直到我添加了一些看似无辜的代码,并在DLL中引用了System.Web . 现在我的Sandbox项目无法看到DLL项目的命名空间 . 我没有改变任何我认为应该影响这个的东西 .

如果我从Sandbox引用中删除了对DLL的项目引用并重新添加它,那么红色下划线全部消失,颜色编码将返回给我所有的类等;但是当我尝试构建解决方案时,整个事情再次崩溃 .

当我右键单击Sandbox的引用中的DLL项目并在对象浏览器中查看时,我可以看到命名空间和所有内容 .

我觉得这可能是某种错误?

这是某种VS2010的错误吗?几个月前我遇到了同样的问题,我当时只能通过制作一个全新的项目并重新导入我的文件来修复它 . 但是,这一次,我有一个bajillion文件,只会作为最后的手段!

编辑:经过惊慌失措并撤消所有我的更改后,试图找到导致问题的原因,似乎是这一行:

string url = "http://maps.google.com?q=" + HttpUtility.UrlEncode(address);

如果我注释掉这一行,那么我没有命名空间错误,项目构建正常 . 虽然我看不出这条线有什么不妥 .

7 Answers

  • 149

    我已经准备好在VS2010中声明这是一个错误,这已经让很多程序员感到困惑 . 修复很简单:“项目属性”,“应用程序”选项卡,将“目标框架”更改为“.NET Framework 4”,而不是默认选择的“客户端配置文件” .

    System.Web未包含在客户端配置文件中 . 首先使用此选项非常愚蠢,客户端配置文件仅比完整版.NET 4.0小15% . 默认选择它甚至更傻 . 但我离题了 .

    更新:仁慈地这一切都在VS2012中得到了修复 . 这不再使客户端配置文件成为新项目的默认配置文件 . 客户端配置文件在.NET 4.5中完全退役,很好地解决了问题 .

  • 8

    将目标框架从“.NET Framweork 4 Client Profile”更改为“.NET Framework 4”对我来说也有类似的问题 . 我同意客户端配置文件似乎没有太大的优势来使用它 . 在我记得Visual Studio默认为客户端配置文件之前,我似乎已经 grab 了我想要的奇怪错误 . 我猜错误的故事是:如果“Rebuild Solution”不起作用,请检查Target框架......

  • 2

    检查以确保两个项目都使用非客户端配置文件作为其目标框架(转到每个项目的属性来执行此操作) .

  • 1

    首先尝试单独使用Sandbox dll构建项目 .

    然后将可执行项目指向所需的dll并确保 copy local 设置为 true . 在参考设置中 .

    然后构建可执行项目 .

  • 0

    一种可能性是类库的目标.NET Framework版本高于项目的.NET Framework版本 . 我遇到了这个问题,我通过关闭视觉工作室,重新开放视觉工作室,清理和重建解决方案来解决这个问题 . 这对我有用 . 在其他一些帖子中,我已经阅读了回复,大多数用户通过这种方式解决了问题 .

  • 0

    如果您已经尝试过已经进行了框架更改,但仍然没有工作,我希望这对您有用(就像它对我一样):只需在项目中添加必要的引用即可 . 非常明显,但在我发现问题之前,我做错了 .

  • 0

    我只是遇到了这个问题,事实证明我使用了多个具有相同对象名称的命名空间(即业务对象与mvc模型具有相同的名称);

    完全限定名称为我解决了问题 .

Related