值不能为空。参数名称:httpBrowserCapabilities

时间:2016-01-20 15:31:31

标签: asp.net-mvc

我刚从VS 2015创建了一个新的MVC应用程序。目标框架是 .NET 4.5

在第一个调试中,它显示

  

值不能为空。

     

参数名称:httpBrowserCapabilities

     

异常详细信息: System.ArgumentNullException:值不能为null。

     

参数名称:httpBrowserCapabilities

堆栈跟踪指向:System.Web.HttpBrowserCapabilitiesWrapper..ctor(HttpBrowserCapabilities httpBrowserCapabilities) +3511141

error message

这里有什么问题?我昨天重新安装了Visual Studio,但它仍然无法修复。有什么可能打破这个httpBrowserCapabilities

重新安装了我的Visual Studio,没有修复。

整个情况看起来像这些帖子中描述的那样:

它突然发生了,没有办法解决!

2 个答案:

答案 0 :(得分:1)

看起来某些代码试图使用HttpBrowserCapabilities进行浏览器检测。奇怪的是,MVC根本不使用它,事实上,我能找到它的唯一用法是与Web Forms服务器控件一起使用。如果这真的只是一个脚手架项目,没有你的任何补充,那么你可能选择了错误的项目类型(虽然我不知道为什么任何内置项目脚手架会默认抛出异常)

无论如何,我最好的建议是简单地创建一个新的解决方案,并确保选择“ASP.NET Web Application”作为您的项目类型。

答案 1 :(得分:0)

这只是一个临时搭建。

我发现我可以使用本地IIS 而不是 IIS Express 来运行Web应用程序。

所以 IIS Express 似乎有问题。但重新安装Visual Studio无法修复它。重新安装.NET框架也不行。

无论如何,由于我有本地IIS,我只需更改应用程序的属性 Web 标签中的服务器属性。必须以管理员身份运行Visual Studio 。并选中覆盖应用程序根URL

所以现在我又恢复了工作模式。我将在稍后讨论如何修复IIS express。如果有人有更好的解决方案,请与我们分享。感谢。