Msbuild 仅执行Slowcheetah转换

Msbuild 仅执行Slowcheetah转换,msbuild,visual-studio-2017,slowcheetah,Msbuild,Visual Studio 2017,Slowcheetah,嗨,我有很多csproj visual studio项目。 这些文件包括许多slowcheetah转换文件和许多普通c#代码文件 为了优化构建过程,我希望将这些项目的“some flag”构建为msbuild,这将只转换slowcheetah配置文件,而不构建dll并执行其他构建操作 有人知道如何只构建clowcheetah转换吗 有人知道如何只构建clowcheetah转换吗 您可以使用TransformXml转换配置文件: <?xml version="1.0" encoding="u

嗨,我有很多csproj visual studio项目。 这些文件包括许多slowcheetah转换文件和许多普通c#代码文件

为了优化构建过程,我希望将这些项目的“some flag”构建为msbuild,这将只转换slowcheetah配置文件,而不构建dll并执行其他构建操作

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

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

您可以使用
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将根据配置转换配置。但是,由于您有很多用于csprojvisualstudio项目的配置文件,因此为多个项目转换多个配置文件应该是您真正的问题

要解决此问题,可以创建一个目标来列出需要转换的所有配置文件,然后创建另一个目标来列出实际转换。有关更多详细信息,请参阅Danny的问答:

希望这有帮助

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

您可以使用
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将根据配置转换配置。但是,由于您有很多用于csprojvisualstudio项目的配置文件,因此为多个项目转换多个配置文件应该是您真正的问题

要解决此问题,可以创建一个目标来列出需要转换的所有配置文件,然后创建另一个目标来列出实际转换。有关更多详细信息,请参阅Danny的问答:

希望这有帮助