因为工作需要,所以经常开几个解决方案,一个VS其实占用资源也挺多的,开三四个消耗也不少,打开VS去获取程序的最新版本再编译太过麻烦了,于是写了个PS脚本,来自动完成获取最新版本以及编译解决方案的工作,顿时轻松不少.
Windows 7 中要先在管理员模式下执行Powershell,并运行命令:
Set
-
ExecutionPolicy RemoteSigned
看到如下画面,同意即可
PS C:\
>
Set
-
ExecutionPolicy RemoteSigned
执行策略更改
执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies
帮助主题中所述的安全风险。是否要更改执行策略 ?
[Y] 是(Y) [N] 否(N) [S] 挂起(S) [ ? ] 帮助 (默认值为“Y”):
执行策略更改
执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies
帮助主题中所述的安全风险。是否要更改执行策略 ?
[Y] 是(Y) [N] 否(N) [S] 挂起(S) [ ? ] 帮助 (默认值为“Y”):
再将以下文件存为.ps1文件 置于解决方案的文件夹内就可以实现自动获取及编译的工作了
##chsword http://chsword.cnblogs.com
#
#获取当前路径对象
$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;
}
$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;
}