2009-12-19 51 views
1

我似乎没有太多的运气将MVC应用程序部署到我的远程主机。MVC部署疑难解答

我刚刚在MVC v2中使用Visual Studio 2010构建了an updated site,并且通过FTP将它发布并部署到我的主机,但它不工作。

Source Error: 

Line 39:  <compilation> 
Line 40:   <assemblies> 
Line 41:    <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
Line 42:    <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
Line 43:    <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 

你可以从下面的链接看到,41行显然是问题,他说,MVC组件无法加载,因为它应该包含一个清单。

我很确定我提供了所有正确的引用和文件版本,那么还有什么可以丢失?通配符应用程序映射已在服务器上实现。

回答

1

这个问题,再次检查网络主机,是我的服务器不支持MVC2,我不得不将项目引用设置为版本1.0的MVC DLL的网站工作。

1

asp.net mvc通常安装在您运行它的系统上。当你建立你的VS项目时,你是否将MVC设置为复制到目标目录?我知道,设置mvc dll以进行复制可以在未部署mvc 1.0的情况下在服务器上安装。

+0

是的,MVC,抽象和路由都被设置为复制本地。我怀疑问题在于我使用MVC2和Web主机安装(v.1,也许?)之间的冲突。 – 2009-12-19 02:31:04

+0

我认为这不太可能是由冲突引起的,因为您在web.config中提供了完整的程序集名称。 – Raymond 2009-12-19 03:41:15

0

由于您打算使用程序集驻留在本地bin而不是GAC中。您可以尝试在web.config中不使用全名。

<add assembly="System.Web.Mvc"/> 

您可以用ildasm检查程序集的清单。尝试一下你在网络服务器上部署的mvc程序集的确切副本,看看它是否有任何问题。

+0

不好运气,对不起。 – 2009-12-19 04:08:28

+0

好。根据错误消息,你的程序集似乎缺少清单。 你自己编译了mvc程序集吗?它是一个有效的程序集,可以在你自己的机器上正常工作吗 – Raymond 2009-12-19 05:12:09