我是一家初创公司的实习生。我对批处理文件,XML文件,命令提示符或msbuild一无所知。我只知道C#的基础知识。
我被要求制作一个批处理文件,允许用户在一个目录中构建所有解决方案,在一个命令中包含七个子文件夹。我知道如何在一个文件夹中构建一个解决方案(使用msbuild mysolution.sln
),但是从七个不同的文件夹中构建许多解决方案是我无法实现的。
可以创建一个批处理文件,允许msbuild查找子文件夹中的所有解决方案文件并立即构建它们吗?
提前感谢任何可以提供帮助的人。
答案 0 :(得分:13)
将以下目标文件保存为解决方案目录
根目录中的buildall.targets
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
DefaultTargets="Default">
<ItemGroup>
<AllFiles Include=".\**\*.sln"/>
</ItemGroup>
<Target Name="Default">
<MSBuild Projects="@(AllFiles)"/>
</Target>
</Project>
创建名为BuildAll.cmd
的批处理文件,其中包含以下内容:(更改msbuild.exe的路径取决于您使用的.NET Framework版本)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild buildall.targets
运行/执行BuildAll.cmd
有关递归文件夹遍历的更多详细信息,请参阅MSDN: How to: Select the Files to Build,尤其是“使用通配符指定输入”部分