【问题标题】:Perform Slowcheetah transformation only仅执行 Slowcheetah 变换
【发布时间】:2018-07-02 02:28:12
【问题描述】:

您好,我有一堆 csproj 视觉工作室项目。 这些包括很多slowcheetah转换文件和很多普通的c#代码文件。

为了优化我的构建过程,我想用“一些标志”来构建这些项目到 msbuild,这只会转换 slowcheetah 配置文件 - 而不是构建 dll 并执行其他构建操作。

有人知道如何只构建 clowcheetah 转换吗?

【问题讨论】:

    标签: msbuild visual-studio-2017 slowcheetah


    【解决方案1】:

    有人知道如何只构建 clowcheetah 转换吗?

    您可以使用MSBuild task TransformXml 来转换配置文件:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" DefaultTargets="Demo" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
    <UsingTask TaskName="TransformXml"
          AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
    
    <Target Name="AfterBuild">
      <TransformXml Source="Config\App.config"
                    Transform="Config\App.$(Configuration).config"
                    Destination="$(OutputPath)\$(AssemblyName).$(OutputType).config" />
    </Target>
    

    通过此任务,MSBuild 将根据配置转换配置。但是由于您有大量 csproj Visual Studio 项目的配置文件,因此为多个项目转换多个配置文件应该是您真正的问题。

    要解决此问题,您可以创建一个目标来列出所有需要转换的配置文件,然后再创建一个用于实际转换的目标。更多细节请参考Danny的问答:

    Transforming multiple config files for multiple projects via MsBuildProj file

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-09-14
      • 2014-07-30
      • 2012-09-07
      • 2015-06-18
      • 1970-01-01
      • 2015-12-28
      • 2013-03-20
      • 2014-07-22
      • 2012-12-28
      相关资源
      最近更新 更多