部署MVC2时出现问题 - 无法加载类型'System.Web.Mvc.UrlParameter'

时间:2010-03-19 06:32:32

标签: deployment asp.net-mvc-2

我在将MVC2应用程序部署到我的主机时遇到问题。它显示以下错误:

无法从程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'加载类型'System.Web.Mvc.UrlParameter'。

看起来它不理解MVC2的新“可选URL参数”功能。 这只是我在VWD 2008中使用“新建项目”向导创建的一个简单的测试应用程序。它在IIS和Visual Studio Web服务器中都可以正常运行。 MVC1网站在托管服务器上运行正常。我已经联系了托管支持,他们安装了MVC2,但问题仍然存在。该网站正在使用ASP.NET 2.0集成管道模式。

有谁知道为什么会这样?

6 个答案:

答案 0 :(得分:6)

你要做的是在本地复制MVC dll。在visual studio的解决方案资源管理器中执行以下操作: 单击“显示所有文件”按钮

alt text

下拉参考部分并选择System.Web.Mvc参考

S

然后在属性窗口中将Copy Local更改为true。

alt text

答案 1 :(得分:2)

您应该删除MVC2 RC,然后下载并安装MVC2 RC2。

答案 2 :(得分:1)

FIXED:

在Global.asax中将id = UrlParameter.Optional更改为id =“”。

此更改至少会使网站呈现。

答案 3 :(得分:1)

将MVC2应用程序部署到主机时,我也遇到此问题。有没有人想出这个原因。

将UrlParameter.Optional更改为固定值会改变应用的行为,所以,我这样做有点不高兴。

由Phil Haack提供(我很乐意接受信任),但请尝试通过转到System.Web.Mvc引用的属性来部署System.Web.Mvc程序集,并将Copy Local更改为true。

菲尔投入了大量的时间和精力来帮助解决这个问题。

答案 4 :(得分:0)

我的应用程序在无法找到dll文件时抛出此异常。

我使用ASP.NET MVC 2 Futures中的Microsoft.Web.Mvc.AspNet4.dll。我的工作站上有dll文件,但没有将它部署到我的网络服务器上。

答案 5 :(得分:0)

我收到了错误,但我正在使用带有.NET Framework 3.5的MVC2,而该类的目标是.NET Framework 4.0。

我错误下载并汇编了针对.NET Framework 4.0的程序集:(