【问题标题】:TFS 2012 and web.config transformsTFS 2012 和 web.config 转换
【发布时间】:2013-04-25 02:05:11
【问题描述】:

我正在尝试让我的 TFS 构建创建与我为构建选择的配置关联的 web.config 转换。当我运行构建时,我检查了 web.config 文件,没有应用任何转换。当我从 VS2012 发布时,转换工作正常。

我已经设置了 TFS 2012(更新 2),并且有一个单独的服务器用于构建。我没有在构建服务器上安装 VS2012,但我将 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\ Web 和 WebApplications 文件夹和文件从我的开发机器复制到了构建服务器。

我在我的项目中创建了一些配置,并为关联的 web.{configname}.config 添加了一些转换。

我创建了一个构建并将要构建的项目 - 要构建的配置设置为我项目中的配置之一。我注意到它只有 Debug 和 Release,没有我创建的任何配置。 (附带问题:这是正确的,还是应该显示我创建的所有配置?)

所以我运行构建并检查输出文件夹并且 web.config 没有应用转换。我还有什么需要做的吗?

【问题讨论】:

    标签: tfsbuild web-config-transform


    【解决方案1】:

    只是在那里扔 /p:TransformConfigFiles=true 实际上不会做任何事情。

    您还需要将此目标添加到项目文件中:

    <Target Name="TransformConfigFiles" AfterTargets="AfterBuild" Condition="'$(TransformConfigFiles)'=='true'">
        <ItemGroup>
            <DeleteAfterBuild Include="$(WebProjectOutputDir)\Web.*.config" />
        </ItemGroup>
        <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="$(WebProjectOutputDir)\Web.config" />
        <Delete Files="@(DeleteAfterBuild)" />
    </Target>
    

    这是我的消息来源:http://blog.degree.no/2012/03/automatic-config-transformations/

    【讨论】:

    • 为我工作!值得庆幸的是,您的代码示例甚至修复了该博客文章中的错字(在两个地方留下了 \ )。
    • 在构建过程中将这些行添加到 csproj 文件后,出现错误:“找不到“TransformXml”任务。如果有人有相同的,你可以在这个目标之前添加这个
    • 太棒了,这对我有用(VS2015,TFS2015)!非常感谢!但是,很奇怪,仅仅指定构建配置是不够的...... MS有时会做出奇怪的实现......
    • 我的 VSTS 构建服务器仍然忽略配置并使用默认的调试 web.config。
    【解决方案2】:

    右键单击您的解决方案文件,转到属性,单击配置属性,然后单击顶部的配置管理器。确保正确设置不同环境的配置。如果设置不正确,请正确设置并检查代码。现在转到您的构建模板并检查配置以在进程选项卡中构建属性,您必须能够看到您的不同配置。如果配置已经正确设置,您还可以通过在构建属性中键入新的配置名称来添加它。

    注意:您也可以右键单击 web.config 转换文件并选择预览转换并确保转换配置工作正常。

    您还可以提供发布配置文件名称,如果它在 msbuild 参数部分中正常工作

    /p:DebugSymbols=false;DebugType=None;DeployOnBuild=true;PublishProfile=Stage
    

    【讨论】:

      【解决方案3】:

      您可以在“要构建的项目->要构建的配置”列表中输入配置的名称。

      如果这没有帮助,请尝试添加以下 MSBuild 参数:/p:TransformConfigFiles=true (3. Advanced -> MSBuild Arguments)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-12
        • 1970-01-01
        • 2012-09-02
        • 1970-01-01
        • 2014-07-01
        相关资源
        最近更新 更多