MS构建导入问题路径

时间:2011-07-12 08:58:43

标签: c# .net msbuild

关于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的工作目录,从而能够解析引用。我做错了什么?

1 个答案:

答案 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上有很多关于此主题的好文章。