小编典典

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

c#

我的C#WinForms解决方案有两个项目。DLL是我正在处理的主要项目,而可执行文件WinForms称为“
Sandbox”,因此我可以轻松地一次编译/运行/调试DLL。

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

一切工作正常,直到我添加了一些看似纯真的代码,并在DLL中引用了System.Web。现在,我的沙盒项目看不到DLL项目的名称空间。我没有改变任何我认为应该会影响这一点的东西。

如果我从沙盒引用中删除对DLL的项目引用,然后重新添加,则红色下划线全部消失,所有类的颜色编码都返回;等等。但是,一旦我尝试构建解决方案,整个事情就会再次崩溃。

右键单击沙箱引用中的DLL项目并在对象浏览器中查看时,我可以看到名称空间及其中的所有内容。

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

这是某种VS2010错误吗?几个月前,我遇到了同样的问题,当时只能通过制作一个新项目并重新导入文件来修复它。但是,这一次,我拥有不计其数的文件,并且只有在万不得已时才这样做!

编辑:恐慌地浏览并撤消了所有更改之后,试图查找引起问题的原因,似乎是这一行:

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

如果我注释掉这一行,则不会出现名称空间错误,并且该项目可以正常运行。我看不到这行有什么毛病。


阅读 366

收藏
2020-05-19

共1个答案

小编典典

我已经准备好将其声明为VS2010中的错误,这已经对太多程序员造成了困扰。修复很容易:“项目+属性”,“应用程序”选项卡,将“目标框架”更改为“ .NET
Framework 4”,而不是默认情况下选择的客户端配置文件。

System.Web不包含在客户端配置文件中。首先拥有此选项很愚蠢,客户端配置文件仅比.NET
4.0完整版小15%。默认情况下选择它更加愚蠢。但是我离题了。

更新:幸运的是,这一切都已在VS2012中修复。这不再使客户端配置文件成为新项目的默认配置文件。客户端配置文件已在.NET
4.5中完全淘汰,这是很好的做法。

2020-05-19