2013-12-17 25 views
0

一个预生成事件我有Visual Studio中的C#/ ASP.NET MVC项目2013最佳实践自动化SVN结账与MSBuild的

什么是自动化的SVN结帐作为预构建的最佳途径事件与MSBuild。我有两个选项工作,但我不知道什么被认为是最好的。

第一种方式是在的csproj文件:

<Target Name="BeforeBuild"> 
    <Exec ContinueOnError="false" Command="svn co --username my_username --password my_password https://my.repository $(MSBuildProjectDirectory)\my\subdirectory" /> 
</Target> 

二是右击工程 - >属性 - >生成事件 - >预生成事件命令行:

svn co --username my_username --password my_password https://my.repository $(ProjectDir)\my\subdirectory

回答

0

我偏向第一个。

的预生成命令将文本添加到相应的字段在项目属性面板中就解决这个标记:

<PropertyGroup> 
    <PreBuildEvent>svn co --username my_username --password my_password https://my.repository $(ProjectDir)\Clients\LostGarden</PreBuildEvent> 
    </PropertyGroup> 

的@(PreBuildEvent)的ItemGroup会再Microsoft.Common.Targets进行处理:

<PropertyGroup> 
    <PreBuildEventDependsOn></PreBuildEventDependsOn> 
    </PropertyGroup> 
    <Target 
     Name="PreBuildEvent" 
     Condition="'$(PreBuildEvent)'!=''" 
     DependsOnTargets="$(PreBuildEventDependsOn)"> 

    <Exec WorkingDirectory="$(OutDir)" Command="$(PreBuildEvent)" /> 

    </Target> 

下一步将是你定义的输入和输出为您BeforeBuild目标允许它建立逐步使SVN电话:)