Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC3要求System.Web版本2.0.0.0(System.Web.UI.Controls):这是一个编译器错误吗? 设置:_Asp.net Mvc_Visual Studio 2010_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc MVC3要求System.Web版本2.0.0.0(System.Web.UI.Controls):这是一个编译器错误吗? 设置:

Asp.net mvc MVC3要求System.Web版本2.0.0.0(System.Web.UI.Controls):这是一个编译器错误吗? 设置:,asp.net-mvc,visual-studio-2010,asp.net-mvc-3,Asp.net Mvc,Visual Studio 2010,Asp.net Mvc 3,我正在开发的MVC3应用程序突然无法编译。我得到以下错误: 类型“System.Web.UI.Control”是在未引用的程序集中定义的。您必须添加对程序集“System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用 这显然是荒谬的:我的机器上有System.Web版本4.0.0.0 如果我删除了相关行的代码,错误只会移动到下一行 VisualStudio一直在抱怨某个外接程序,例如,如果我试图转到

我正在开发的MVC3应用程序突然无法编译。我得到以下错误:

类型“System.Web.UI.Control”是在未引用的程序集中定义的。您必须添加对程序集“System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用

这显然是荒谬的:我的机器上有System.Web版本4.0.0.0

如果我删除了相关行的代码,错误只会移动到下一行

VisualStudio一直在抱怨某个外接程序,例如,如果我试图转到“定义”,VS会抱怨并询问我是否要删除该外接程序

问题: VS损坏了吗

我需要重新安装整个bally吗(VS2010,power tools,MVC 3和heck知道还有什么)

编辑: 在找到原因并解决问题后,我将问题重命名为一个更可能被具有相同或类似问题的其他人找到的名称


尽我所能,我的答案告诉我如何解决这个问题。但是,如果有人能对这个问题给出一个完整的解释,那么我很乐意将其作为答案。

好的,我已经找到了问题的症结所在

问题是我使用了一些字符串扩展。这些书都装在图书馆里,是很久以前写的

该问题是由命名空间引起的。让我们称之为WS.Extensions

在WS.Extensions中,我还为普通的asp.net服务器控件提供了一些扩展方法,这些扩展所在的类具有System.Web.UI的using语句

尽管库项目中引用了相关的DLL,但这似乎会导致MVC3出现问题,在我看来,这是一个模糊的错误。一旦你知道了问题所在,这是显而易见的,但不是别的

我已经将所有扩展移到了一个新库中,没有引用服务器控件名称空间(如System.Web.UI)的交叉使用语句

我没有删除我的帖子,因为我认为这个问题可能会发生在其他从可怕的服务器控件转向MVC的人身上

增编: 这个错误的糟糕之处在于它显示为编译器错误,在“问题”所在的特定行中。注释掉这一行只会将编译器抱怨的那一行下移一行。此外,该行与使用扩展的行完全无关。所以没有线索

因此,我认为这是一个编译器错误,它与ASP.NET MVC,3或其他无关。

这是由于引用(使用)来自和ASP.NET MVC 3应用程序的命名空间,而该命名空间包含为ASP.NET服务器控件编写的代码


我在这个问题上耽误了半天,所以希望这能帮助其他人。因此,我重新命名了这个问题。

我也有同样的问题。我有几个项目使用了不同版本的MVC,所以我收到了这种错误


有时,在将project转换为MVC 3后清除ASP.NET缓存也很好。这也很有用。

编译器错误听起来与ASP.NET MVC完全无关。这发生在我的一个项目中,该项目与MVC无关,但确实引用了一个使用System.Web的项目。出于好奇,你的项目用的是什么语言?我引用了一个C#项目中的VB.NET项目。杰克:我认为你的问题是不同的,因为你专门调用了来自不同版本的已安装dll的代码。这个问题是由从未使用过的代码引起的,编译器会产生模糊和错误的错误消息,从而很难理解问题是什么。