我需要将一系列步骤联系在一起,包括构建解决方案、项目和使用自定义 MSBuild 文件运行 .cmd 文件。
我的第一关如下:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>AnyCPU</Platform>
</PropertyGroup>
<ItemGroup>
<ProjectsToBuild Include="..\Hosts\solution1.sln"></ProjectsToBuild>
<ProjectsToBuild Include="..\..\solution2.sln"></ProjectsToBuild>
<ProjectsToBuild Include="helper1.csproj"></ProjectsToBuild>
<ProjectsToBuild Include="..\..\Sandboxes\helper2.sln"></ProjectsToBuild>
<Exec Include="" Command="CALL GetFiles.cmd"/>
<ProjectsToBuild Include="wix\proc\prod.wixproj"></ProjectsToBuild>
<Exec Command="CALL final.cmd"/>
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(ProjectsToBuild)" Targets="Build">
<Output ItemName="ProjectOutputs" TaskParameter="TargetOutputs"/>
</MSBuild>
<Message Text="@ProjectOutputs"/>
</Target>
</Project>
这会导致错误,因为 Exec 元素位于错误的位置。
基本上,我需要构建 solution1.sln、solution2.sln、helper1.csproj 和 helper2.sln(按顺序),然后运行文件 GetFiles.cmd,然后构建 prod.wixproj,然后运行 final.cmd 文件。
我看过 MSDN (此处、此处、此处)、博客,并浏览了各种 stackoverflow 问题(包括this、this、this、this),但没有一个能完全解决我想要做的事情。这是我第一次使用 MSBuild,所以我可能错过了一些东西。将不胜感激任何指针...