关于MSBuild的快速问题。我在目录d:\ MyDirectory
中有以下MSBuild文件<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<Import Project="d:\MyDirectory\BuildTest\BuildTest\BuildTest.csproj"></Import>
</Project>
当我运行它时,构建失败,因为BuildTest.csproj找不到.cs源文件,它似乎在查看d:\ MyDirectory。我期望将工作目录设置为BuildTest.csproj的工作目录,从而能够解析引用。我做错了什么?
答案 0 :(得分:1)
我认为,import元素用于将其他MSBuild项目导入到这个项目中(see here)。 如果要指定要构建的C#项目,则应该这样做:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<ItemGroup>
<ProjectReferences Include="d:\MyDirectory\BuildTest\BuildTest\BuildTest.csproj" />
<!--more-->
</ItemGroup>
然后,如果您想构建所有引用的项目,您可以这样做:
<Target Name="BuildAllProjects">
<MSBuild ContinueOnError="False" Projects="@(ProjectReferences)"
Targets="Clean;ReBuild">
</MSBuild>
</Target>
请记住,这只是MSBuild处理方式中的一种。如果您需要更多自定义,那么MSDN上有很多关于此主题的好文章。