2012-09-12 94 views
10

因此,當您將MVC安裝到Visual Studio中時,會將MVC dll放入GAC中。因此,他們不需要在項目的文件系統中來允許項目構建。使用ASP.Net進行持續集成MVC

當我們部署這種生活和我們的持續集成服務器的MVC和剃刀必需的依賴關係都沒有版本控制。毫無疑問,爲什麼微軟使這個如此複雜,超出了我的想象。

我一個自動化盡我所能,所以我想知道最好的方法是什麼,解決了丟失的DLL問題。

現在的ASP.Net MVC項目,我已經解決了這個使用斌部署在這裏http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx提到的菲爾哈克的博客。這工作正常,但我也有一些庫項目引用System.Web.Mvc不會在生成服務器上編譯,並且Visual Studio中的bin部署選項不可用於庫項目。

我認爲做正確的事情是使用的NuGet

Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1 

然而,什麼是最好的做法,是否有任何陷阱,以這種方式使用的NuGet?例如我是否應該將所有ASP.Net MVC Web項目切換爲使用NuGet的此包,而不是在GAC中部署dll?

回答

8

我們在MVC 4項目中做了類似的事情。

我們使用NuGet安裝了MVC,然後在項目上啓用了包恢復,將.nuget文件夾提交到存儲庫。 http://blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html

Install-Package Microsoft.AspNet.Mvc 
Install-Package NuGetPowerTools 
Enable-PackageRestore 

當項目是建立在構建服務器上,缺少的包是從的NuGet下載,當部署它們會自動包含在bin目錄中。

我會說你的方法是正確的,而不是使用bin的部署方法,並提交所需的程序集到版本庫。