使用PowerShell 自动从SVN服务器获取最新版本并编译解决方案(TortoiseSVN)

因为工作需要,所以经常开几个解决方案,一个VS其实占用资源也挺多的,开三四个消耗也不少,打开VS去获取程序的最新版本再编译太过麻烦了,于是写了个PS脚本,来自动完成获取最新版本以及编译解决方案的工作,顿时轻松不少.

Windows 7 中要先在管理员模式下执行Powershell,并运行命令:

Set-ExecutionPolicy RemoteSigned

看到如下画面,同意即可

PS C:\> Set-ExecutionPolicy RemoteSigned

执行策略更改
执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies
帮助主题中所述的安全风险。是否要更改执行策略
?
[Y] 是(Y) [N] 否(N) [S] 挂起(S) [
?] 帮助 (默认值为“Y”):

再将以下文件存为.ps1文件 置于解决方案的文件夹内就可以实现自动获取及编译的工作了

##获取当前路径对象
$p=gl
##获取当前路径
$CurrentPath=$p.Path
##使用TortoiseSVN获取最新版本
TortoiseProc.exe /command:update /path:$CurrentPath $path /closeonend:2
##找到解决方案文件
$slns= gci | Where-Object { $_.Name –match "\.*.sln" }
$slns | % {
##编译解决方案并写入日志
C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe $CurrentPath\$_ /t:Build /v:m /fileLoggerParameters:LogFile=BuildLog.log;
}
原文地址:https://www.cnblogs.com/chsword/p/Powershell_SVNUpdate_Build.html