我有一个简单的 ASP.NET MVC 网站。它具有调试、测试和发布配置模式。

我们使用 TFS 作为源代码控制和错误跟踪等。好的。

现在,我们即将开始使用团队构建来自动化一些持续集成。问题是,我们不确定如何制作它,因此如果我们想要进行 DEBUG 构建或 RELEASE 构建,它也会将正确的 web.config 文件放入目标目录中。此外,我们将 web.config 文件的某些部分提取到单独的文件中(例如连接字符串部分或机器关键部分等)。是否可以将正确的环境文件正确地放入目标目录中。

有帮助吗?

解决方案

你可以做一个 预构建步骤

假设您已经签到

  • /调试.Web.Config
  • /Release.Web.Config

您可以编写预构建步骤来检查构建类型并将正确的 .config 文件复制到

  • /Web.Config

就像是

cp $(ConfigurationName).Web.Config $(TargetDir)

顺便说一句,ASP.net 4.0 将支持多个 Web.Config

http://weblogs.asp.net/gunnarpeipman/archive/2009/06/03/visual-studio-2010-multiple-web-config-versions.aspx

其他提示

顺便说一下,使用预构建或后构建步骤在Team Foundation Server下不起作用。它会自动在构建目录上配置安全性,以防止在构建过程中对配置文件进行任何更改,无论是作为预构建事件还是作为构建后事件。使用cp的唯一结果是返回“拒绝访问”。错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top