【问题标题】:MSBuild - Transforming web.configMSBuild - 转换 web.config
【发布时间】:2012-05-31 15:35:19
【问题描述】:

我已使用 CIBuildWithCopyDirectoryTemplate.xaml 中定义的默认工作流程在 TFS2010 上设置 CI 构建。

它似乎正在改变 web.config,但我一生都无法确定它的定义位置。我的 csproj 文件中有一个 AfterBuild 任务,但我认为 MSBuild 不使用它?

在仔细研究了作为文本文件及其工作流程形式的 XAML 之后,我完全被难住了,我还没有时间阅读上周购买的 Hashimi 书。如果有人能指出我正确的方向,我将不胜感激。

【问题讨论】:

    标签: visual-studio-2010 msbuild continuous-integration tfsbuild


    【解决方案1】:

    AfterBuild 通常在项目打包完成后调用。 web.config 转换将在打包阶段之前为您的项目进行。

    【讨论】:

    • 那么 MSBuild 是否 使用项目的 .csproj 文件?
    • 绝对。 Visual Studio C# 项目文件是 MSBuild 文件,虽然通过命令行 MSBuild 和 TFS 调用的项目与 GUI 内 Visual Studio 构建的环境上下文可能略有不同,但它们是相同的。
    【解决方案2】:

    .csproj 文件是 MSBuild 文件。只要满足条件,您在.csproj 中自定义的任何内容都将被 MSBuild 拾取。

    您可以增加MSBuild logging 详细程度来分析构建内部。

    【讨论】:

      【解决方案3】:

      web.config 的转换由 VS 的 web 发布任务完成,特别是 Package 目标。您的 .csproj 应该在其中导入 Microsoft.Web.Publishing.targets 来定义 TransformXml 任务和一些目标,例如 msbuild 会调用的 [Pre|Post]TransformWebConfig。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-10
        • 2012-02-17
        • 1970-01-01
        • 2022-02-19
        • 2023-04-04
        • 1970-01-01
        • 2014-05-08
        • 2011-11-03
        相关资源
        最近更新 更多