2011-07-12 3 views
0

MSBuildについての簡単な質問。 \ mydirectoryなどMSビルドインポートの質問パス

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" > 
<Import Project="d:\MyDirectory\BuildTest\BuildTest\BuildTest.csproj"></Import> 
</Project> 

私はこれを実行するとBuildTest.csprojは.csファイルのソースファイルを見つけることができないので、ビルドが失敗し、それがDで見ているようだ:私は、ディレクトリdの次のMSBuildファイルを持っている\ mydirectoryなど。私は、作業ディレクトリがBuildTest.csprojのディレクトリに設定されることを期待していたので、参照を解決することができます。私は間違って何をしていますか?

答えて

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を使って多くのことを行う方法の1つに過ぎません。より多くのカスタマイズが必要な場合は、このトピックに関するMSDNに関する記事がたくさんあります。

+0

お返事ありがとうございます。あなたの例にターゲットがないのでビルドするプロジェクトを指定する方法 –

+0

@マーク909:答えを –

+0

に更新しました。ありがとうございました - MSBuildタスクで作業していましたが、なぜインポートが失敗するのか不思議でした作業。ご協力いただきありがとうございます –