我想创建一个MSBuild项目,它反映了解决方案中的项目依赖项,并将VS项目包装在可重用目标中.
我喜欢解决的问题是在BizTalk应用程序中svn导出,构建和部署特定程序集(及其依赖项).
我的问题是:如何为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>
Run Code Online (Sandbox Code Playgroud)
它所依赖的项目看起来几乎就像这样(其他.btproj和.csproj).