嗨,我有一堆csproj视觉工作室项目 . 这些包括很多slowcheetah转换文件和很多正常的c#代码文件 .
为了优化我的构建过程,我想用msbuild的“some flag”构建这些项目,这只会转换slowcheetah配置文件 - 而不是构建dll并执行其他构建操作 .
任何人都知道如何只建造clowcheetah变换?
您可以使用MSBuild task TransformXml 转换配置文件:
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
希望这可以帮助 .
1 回答
您可以使用MSBuild task
TransformXml
转换配置文件:通过此任务,MSBuild将根据配置转换配置 . 但是,由于你有很多csproj visual studio项目的配置文件,所以为多个项目转换多个配置文件应该是你真正的问题 .
要解决此问题,您可以创建一个目标以列出需要转换的所有配置文件,然后创建另一个用于实际转换的配置文件 . 有关更多详细信息,请参阅Danny的问题和答案:
Transforming multiple config files for multiple projects via MsBuildProj file
希望这可以帮助 .