Я хотел бы создать проект MSBuild, который отражает зависимости проекта в решении и обертывает проекты VS внутри повторно используемых целей.
Проблема, которую мне нравится решать, заключается в svn-export, сборке и развертывании конкретной сборки (и ее зависимостей) в приложении BizTalk.
Мой вопрос: как я могу сделать цели для svn-экспорта, создания и развертывания многоразового использования, а также повторно использовать завернутые проекты, когда они созданы для разных зависимостей?
Я знаю, что было бы проще просто построить решение и развернуть только необходимые сборки, но я хотел бы как можно больше использовать цели.
Детали
Проект, который мне нравится развернуть
<Project DefaultTargets="Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ExportRoot Condition="'$(Export)'==''">Export</ExportRoot>
</PropertyGroup>
<Target Name="Clean_Export">
<RemoveDir Directories="$(ExportRoot)\My.Project.Dir" />
</Target>
<Target Name="Export_MyProject">
<Exec Command="svn export svn://xxx/trunk/Biztalk2009/MyProject.btproj --force" WorkingDirectory="$(ExportRoot)" />
</Target>
<Target Name="Build_MyProject" DependsOnTargets="Export_MyProject">
<MSBuild Projects="$(ExportRoot)\My.Project.Dir\MyProject.btproj" Targets="Build" Properties="Configuration=Release"></MSBuild>
</Target>
<Target Name="Deploy_MyProject" DependsOnTargets="Build_MyProject">
<Exec Command="BTSTask AddResource -ApplicationName:CORE -Source:MyProject.dll" />
</Target>
</Project>
Проекты, от которых он зависит, выглядят почти так же (другие .btproj и .csproj).