2009-12-19 94 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