多数のプロジェクトを含む VS 2010 ソリューションがあります。プロジェクトは、ソリューション内の他のプロジェクトを参照します。次のようにcsprojファイルに間違ったプロジェクト参照パスがあることに気付きました:
<ProjectReference Include="..\..\..\..\WrongFolder\OtherProject.csproj">
<Project>{CD795AA6-9DC4-4451-A8BA-29BACF847AAC}</Project>
<Name>OtherProject</Name>
</ProjectReference>
Visual Studio は、ソリューションを開いたときにこれを修正します。
<ProjectReference Include="..\..\..\..\RightFolder\OtherProject.csproj">
<Project>{CD795AA6-9DC4-4451-A8BA-29BACF847AAC}</Project>
<Name>OtherProject</Name>
</ProjectReference>
Project 要素の GUID を使用してソリューション内のプロジェクトを一意に識別し、パスを修正できると思います。
一方、MSBuild はこのパスを修正していないようで、ソリューションのビルドは失敗します。
ソリューションが正しくビルドされるように、MSBuild でパスを修正する方法や、他のツールやコマンドを使用してビルド前の手順として実行する方法はありますか?
ありがとう!