gpt4 book ai didi

.net - 与 ASP.Net MVC 持续集成

转载 作者:行者123 更新时间:2023-12-02 19:06:29 24 4
gpt4 key购买 nike

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

当我们将其部署到实时环境和持续集成服务器时,MVC 和 Razor 所需的依赖项不在版本控制中。我实在无法理解微软为什么要让事情变得如此复杂。

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

现在,对于 ASP.Net MVC 项目,我已经使用此处提到的 bin 部署解决了这个问题 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 中 bin 部署 dll?

最佳答案

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

关于.net - 与 ASP.Net MVC 持续集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com