2010-02-12 111 views
1

我有一個ASP MVC(1.0)應用程序。它通過visual studio和運行IIS6的開發服務器在本地很好地工作。但是,當我嘗試部署到測試服務器(在Windows Server 2008 R2的運行IIS7)我只得到:部署一個ASP MVC應用程序到IIS7的問題

"Could not load file or assembly '<ApplicationName>' or one of its dependencies. Access is denied" (where <ApplicationName> is the name of my application). 

其次是一個「FileLoadException」,一個「ConfigurationErrorsException」和兩個「HttpException」(全與上面相同的消息)

我通過發佈部署到一個空目錄,其內容然後壓縮並傳輸到測試服務器上的站點目錄。如果我將目錄內容複製到我的IIS安裝,它工作正常。我檢查過networkservices有權訪問網站目錄和臨時目錄,這是我通過google找到的解決方案,但它沒有幫助。我完全被難住了。有任何想法嗎?

亞當

回答

0

那麼,它剛剛怪異,當我們嘗試了不同的版本,我們的應用程序 - 我們回去,我們也早看到了「無法讀取web.config中」錯誤然後消失了與上面的錯誤的版本。當我們確信它必須是一個權限問題很長一段時間後,我們最終發現,當我們將應用程序壓縮到服務器時,web.config(以及誰知道還有什麼)以某種方式被破壞。一個焦油然後拉鍊,它只是工作。以前從未有過使用ZIP的問題,但是我們只需要使用tar.zip

3

請問您的服務器已安裝在GAC System.Web.Mvc.dll程序了嗎?

如果不是,那麼在發佈之前,您需要在項目中將對System.Web.Mvc.dll的引用標記爲「Copy Local = true」。只需右鍵點擊參考,您就會看到選項。否則,System.Web.Mvc將不在您的bin目錄中。

我寫的這個位置:http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

+0

是的。我們確實在服務器上安裝了MVC框架(但它仍然是一個很好的提示!)。看到我的回答發生了什麼。 – Adam 2010-02-17 08:20:38