Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 ASP.NET MVC升级到Beta:IControllerFactory是在未引用的程序集中定义的_Asp.net Mvc_Castle Windsor_Upgrade_Asp.net Mvc Beta1 - Fatal编程技术网

Asp.net mvc ASP.NET MVC升级到Beta:IControllerFactory是在未引用的程序集中定义的

Asp.net mvc ASP.NET MVC升级到Beta:IControllerFactory是在未引用的程序集中定义的,asp.net-mvc,castle-windsor,upgrade,asp.net-mvc-beta1,Asp.net Mvc,Castle Windsor,Upgrade,Asp.net Mvc Beta1,我目前正在将一个网站从ASP.NET MVC的预览版2升级到Beta版。经过一次彻底的搜索,我发现我的上一个编译错误在站点中没有解决方案。我在Global.asax.cs中有一些使用Windsor容器设置IOC的代码: ControllerBuilder.Current.SetControllerFactory(typeof(WindsorControllerFactory)); 编译器抱怨: The type 'System.Web.Mvc.IControllerFactory' is de

我目前正在将一个网站从ASP.NET MVC的预览版2升级到Beta版。经过一次彻底的搜索,我发现我的上一个编译错误在站点中没有解决方案。我在Global.asax.cs中有一些使用Windsor容器设置IOC的代码:

ControllerBuilder.Current.SetControllerFactory(typeof(WindsorControllerFactory));
编译器抱怨:

The type 'System.Web.Mvc.IControllerFactory' is defined in an assembly that is not referenced. 
You must add a reference to assembly 'System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
奇怪的是,这个程序集被引用了。我从MVC beta Assembly文件夹中引用它,并设置为“复制本地”。我甚至可以删除bin目录,重建,然后在reflector中查看组件并查看界面。我尝试删除并重新添加引用,更改web.config的程序集和命名空间部分。我甚至从GAC中删除了System.Web.Mvc,以确保它使用了正确的副本

在写这个问题时,我突然想到,温莎可能在内部期待着更旧版本的组件。我正在从MvcContrib下载最新版本,以确定这是否是问题所在,我将发布结果。如果是这样的话,那么程序集的版本号是否应该随着最新版本的发布而改变,以使这一点变得明显

谢谢你的阅读,
Brett检查您是否已在web.config文件中将相应的程序集引用更新为3.5.0.0,如beta版更新说明中所述。

PublicKeyToken=null似乎不正确


编辑:我是对的,PublicKeyToken应该是“31bf3856ad364e35”。听起来它们是针对未签名的System.Web.Mvc.dll的私有版本链接的。

感谢您的快速响应,但我已经尝试过了。此外,System.Web.Mvc似乎仍然是1.0.0.0版