我在Visual Studio 2013上有一个C#/ ASP.NET MVC项目
使用MSBuild将SVN结帐自动化为预构建事件的最佳方法是什么?我有两个选择,但我不知道什么是最好的。
第一种方式是在csproj文件中:
<Target Name="BeforeBuild">
<Exec ContinueOnError="false" Command="svn co --username my_username --password my_password https://my.repository $(MSBuildProjectDirectory)\my\subdirectory" />
</Target>
第二个是右击项目 - &gt;属性 - &gt;构建事件 - &gt;预构建事件命令行:
svn co --username my_username --password my_password https://my.repository $(ProjectDir)\my\subdirectory
答案 0 :(得分:0)
我偏爱第一个。
prebuild命令将添加到项目属性窗格中相应字段的文本解析为此标记:
<PropertyGroup>
<PreBuildEvent>svn co --username my_username --password my_password https://my.repository $(ProjectDir)\Clients\LostGarden</PreBuildEvent>
</PropertyGroup>
然后将在Microsoft.Common.Targets中处理@(PreBuildEvent)项目组:
<PropertyGroup>
<PreBuildEventDependsOn></PreBuildEventDependsOn>
</PropertyGroup>
<Target
Name="PreBuildEvent"
Condition="'$(PreBuildEvent)'!=''"
DependsOnTargets="$(PreBuildEventDependsOn)">
<Exec WorkingDirectory="$(OutDir)" Command="$(PreBuildEvent)" />
</Target>
接下来的步骤是为您定义BeforeBuild目标的输入和输出,允许它以增量方式构建,以便SVN调用:)