【问题标题】:Continuous Integration with ASP.Net MVC与 ASP.Net MVC 持续集成
【发布时间】:2012-09-12 19:42:33
【问题描述】:

因此,当您将 MVC 安装到 Visual Studio 中时,它会将 MVC dll 放入 GAC。因此,它们不需要位于项目的文件系统中即可构建项目。

当我们将它部署到 live 和我们的持续集成服务器时,MVC 和 Razor 所需的依赖项不在版本控制中。微软把这件事弄得如此复杂的原因我无法理解。

我是一个尽我所能自动化一切的人,所以我想知道解决丢失 dll 问题的最佳方法是什么。

现在对于 ASP.Net MVC 项目,我已经使用 bin 部署解决了这个问题,正如 Phil Haack 博客上的 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 吗?

【问题讨论】:

    标签: .net asp.net-mvc continuous-integration nuget


    【解决方案1】:

    我们在 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 deploy 方法并将所需的程序集提交到存储库。

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 1970-01-01
      • 2019-03-08
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 2015-06-05
      • 1970-01-01
      相关资源
      最近更新 更多