2010-10-12 87 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