2010-10-12 59 views
1

我刚刚将我的第一个MVC2应用程序部署到我们的本地Web服务器(它位于我们的网络中,因此可以根据需要进行修改/更改)。服务器最初是用.Net 2构建的,我们的网络管理员安装了.Net 4,所以我不能100%确定是否所有东西都在正确的位置。部署MVC2应用程序应该已经存在的DLL

我想知道的是所有的System.Web * *等DLL(.Net Framework版本4)已经在这个服务器上的GAC中,或者它们应该被我的项目显式包含(copy local = true) (Bin)文件夹?

OR

有事了毛病安装和.Net应进行修理/重新安装?

在这台服务器上的Gac中,只有.net 2.0程序集,据我所知。

当我开始在我的项目中调用AspNet成员资格的东西时,会出现以下错误。

第30行很容易通过在我的Bin目录中包含MVC DLL来纠正。我只是不确定我应该走多远?我是否包含所有内容?

在YSOD

版本信息的底部:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.1

所以我想我的网站正在运行.NET4

Configuration Error 
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Could not load file or assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 

Source Error: 


Line 29:   <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
**** 
Line 30:   <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
**** 
Line 31:   <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
Line 32:  </assemblies> 
+0

将更新重新这个额外的信息 – 2010-10-12 05:26:27

回答

0

那么,会发生什么?实际上,您通常应该可以,但是您需要确保将Web服务器(通常为IIS)配置为从ASP.NET 4.x启动,而不是ASP.NET 2.x(这是设置 - “where”取决于IIS的版本)。如果有疑问,将System.Web.Mvc.dllMicrosoft.Web.Mvc.dll标记为copy-local(针对参考的属性)可能会有所帮助。

另外;也有一些调整和旋转因子在IIS 7.x中更改为ASP.NET 4.x的时候,你可能需要,例如:

  • 更改处理程序是如何提供配置
  • 更改请求验证(XSS)

等;我们得到了一些YSOD开始,直到我们解决了配置文件...


再更新,这听起来像安装了.NET 4.x版和IIS正常运行ASP.NET 4.x的,但MVC 2确实不是似乎被安装。从MSDNWeb Platform Installer中抓取并安装在服务器上。请注意,MVC与核心.NET的发布周期非常不同。

+0

增加更多的信息,这个项目已经建立从.Net 4开始。它的服务器配置我正在努力与 – 2010-10-12 05:22:29

+0

@保罗 - 但你也说“它最初是用。 Net 2“...... confused – 2010-10-12 05:25:29

+0

对不起,我的意思是服务器本身原本是.Net2,当它建成 – 2010-10-12 05:41:05