2010-04-11 39 views
1

当我运行我的asp.net mvc的2个网站(共享主机)我得到以下错误:asp.net的MVC 2的方法没有找到

Method not found: 'Void System.Web.Mvc.DataAnnotationsModelValidatorProvider. 
set_AddImplicitRequiredAttributeForValueTypes(Boolean)'. 

在bin目录我有System.Web.Mvc.dll版本2.0.50217.0

在我的本地开发机器上运行良好。

如果主机提供商安装了​​不同的mvc 2版本,可能会导致此错误吗?

回答

0

官方的System.Web.Mvc是2.0.0.0版本。看起来你正在使用一些定制版本 - 2.0.50217.0,可能会丢失this method。尝试在bin文件夹中部署应用程序而不使用程序集。

+0

这是RTM构建版本号。 – Debra 2010-04-11 08:16:43

+0

这是文件版本,程序集版本是2.0.0.0 – 2010-04-11 10:12:14

0

我认为更好的方法是将ASP.NET MVC 2 dll复制到您的代码目录(您放置依赖项的位置)并从中引用它。这样,如果宿主机器上没有安装ASP.NET MVC 2,就可以避免这种类型的错误。

+0

谢谢,我没有将它复制到我的依赖关系文件夹,从依赖关系文件夹引用dll,并将copy local设置为true – Debra 2010-04-11 09:34:21

0

感谢所有的帮助, 被引用的项目在bin文件夹中有不同的版本(即使我清理了解决方案并设置了该项目以引用依赖项文件夹中的dll,但它仍然从bin文件夹)。 在删除那个并重建之后,重新部署了dll并运行它。