2013-01-07 33 views
1

本地構建正常工作。一個生成服務器工作正常(不使用TFS生成)。MVC3通過TFS構建代理部署到bin而不是MVC4

問題是,TFS構建包MVC3二進制文件,而不是所需的MVC4。

SERVER 1:我們的TFS服務器只安裝了MVC4(儘管我不認爲這是需要的)。

SERVER 2:我們的TFS構建控制器只安裝了MVC4。 (構建代理位於同一臺服務器上)。

注意:SERVER 12之前都安裝過MVC3。

我排隊一個新的版本,去SERVER 2(建立控制器服務器),我看到代理正在工作(TFS管理控制檯),並已創建其工作目錄。

但是工作目錄最終包含MVC3二進制文件!然後將其丟棄到託管服務器上的放置位置,然後使用MVC3部署錯誤。

'SERVER 2'上命令行中的MSBuild也將MVC3二進制文件添加到bin文件夾中。 GAC包含MVC4二進制文件。 (C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System.Web.Mvc \ v4.0_4.0.0.0__31bf3856ad364e35)

正在討論的項目的web.config正確引用了MVC4和System.Web。 Mvc(v4.0.0.0)被設置爲複製本地。我已經廣泛檢查了MVC3的參考資料。我沒有理由懷疑代碼,因爲這可以在我們的遺留構建服務器(已安裝MVC4)上運行。

當然,這一切都在我的機器上運行,發佈包含bin文件夾中正確的MVC.dll。

從哪裏可以得到MVC3?我可能會錯過什麼?

SHORT TERM FIX:在託管服務器上安裝MVC4。

回答

0

終於解決了這個問題,在包含system.web.mvc.dll(版本3)的程序文件裏面有一個Reference Assemblies文件夾。我刪除了它,它一切正常!

簡單地說:「.NET 4.0版在框架引用程序集的完成方式上做出了重大改變。」

這個問題的答案給出了這個文件夾是什麼以及它爲什麼在那裏的更多細節:Reference Assemblies folder and different assemblies with the same version

+0

我面臨同樣的問題。你在哪個文件夾下找到了引用程序集下的dll文件?裏面有幾個文件夾。 – mmssaann