2010-04-11 78 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並運行它。