Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
.net windows 8升级版上的MVC 4无法加载类型错误_.net_Asp.net Mvc 4_Nuget - Fatal编程技术网

.net windows 8升级版上的MVC 4无法加载类型错误

.net windows 8升级版上的MVC 4无法加载类型错误,.net,asp.net-mvc-4,nuget,.net,Asp.net Mvc 4,Nuget,我有VS2010和2012终极版的Windows8游戏机,以前是Win7游戏机,但升级了。当我在2010年或2012年尝试制作任何asp.NETMVC4应用程序时,我得到了 Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 尝试加载应用程序并

我有VS2010和2012终极版的Windows8游戏机,以前是Win7游戏机,但升级了。当我在2010年或2012年尝试制作任何asp.NETMVC4应用程序时,我得到了

Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
尝试加载应用程序并向主控制器上的索引发出请求时

正在引用的System.Web.Http dll是:

C:\src\web\MvcApplication6\packages\Microsoft.AspNet.WebApi.Core.4.0.20710.0\lib\net40\System.Web.Http.dll

因此,它来自mvc nuget包。这里到底发生了什么:(

您很可能拥有相互冲突的MVC4版本

我最好的猜测是,您仍然有MVC4Beta或MVC4RC尚未卸载-在这些版本中,Web API程序集是GAC-ed的


卸载旧版本的MVC4并重新安装MVC4。此外,请检查System.Web.Http.dll是否设置为复制本地true。

是使用现成的路由,还是更改了路由?我一点也没动,我只是创建了项目类型并将其f5。同意,我在年之前删除了vs 11 beta之前就看到了这一点暂停vs 2012。我还删除了任何mvc 4测试版的内容,并安装了mvc 4工具几次。更糟糕的是,我去了dll引用位置,将其加载到ILSpy中,RouteParameter就在那里……好的,我想我已经修复了它。的确,我在我的机器上,在GAC中留下了mvc 4测试版的副本。dll是系统。我们b、 Http和System.Web.Http.WebHost。我不得不使用gacutil/uf杀死它们,然后重新启动vs。不!最后一个失败得很严重。我所做的是下载mvc 4测试版安装程序,安装,卸载,然后安装mvc 4。我想我第一次只是在测试版上安装mvc 4,它留下了所有的测试版DLL在我的gac里。哎呀。谢谢大家:)