用PowerShell自定义版本控制

以下仅仅是我的一个小小创意,中大型项目中,我们都习惯于用类似command line风格来编译我们的 系统,比如用Nant编译.NET程序,但是我在想如果能Build一次,版本号加1就好了,而不是按照.NET本身 自带的那种加法,于是想出用PowerShell来定义一个版本自动控制的小脚本程序,代码如下:

$ver="ver.cs"

$s=[System.IO.File]::ReadAllLines($ver)

if($s.Length - eq 2){

      $num=$s[1].Remove(0, 28).Remove(7, 3).Split('.')

      $sum=$num[0]+$num[1]+$num[2]+$num[3]

      $result=$sum -as [Int32]     

      $r=$result+1

      $results=$r.ToString();

      write-host Current Version: $results

      $build="[assembly: AssemblyVersion ("""
              +$results[0]+"."
              +$results[1]+"."
              +$results[2]+"."

               +$results[3]+""")]"

      $s="using System.Reflection;",$build

      [System.IO.File]::WriteAllLines($ver,$s)   

}

其中,ver.cs是一个C#文件,里面只有版本控制的代码:

using System.Reflection;
[assembly: AssemblyVersion("1.0.0.0")]

然后,在你的Build的批处理中,执行这个脚本就可以了,ver.cs中的1.0.0.0将自动加1成为1.0.0.1 ,当然,脚本可以随意任你改动,这样你可以定义你想要的版本自动增长。

欢迎拍砖,如果有你自己的版本控制方式,可以分享下。这只是我自己的创意,我想肯定不是最好, 所以当抛砖引玉了……

时间: 2025-01-31 01:45:33

用PowerShell自定义版本控制的相关文章

Windows Powershell 自定义控制台_PowerShell

"选项"设置光标,历史记录,编辑模式的切换."字体"设置字体的名称和大小"布局"设置窗口的缓冲区.窗口的大小.窗口起始坐标"颜色"设置屏幕和对话框的背景色和前景色. 右击标题栏选择"属性"弹出powershell控制台对话框.在这里有四个选项卡:选项.字体.布局和颜色. "选项"设置光标,历史记录,编辑模式的切换. 控制台选项 "字体"设置字体的名称和大小 控制台字体

PowerShell函数参数用星号隐藏的方法_PowerShell

本文介绍在PowerShell中创建函数时,如何让函数的参数输入值的时候自动变成星号. 什么叫自动变成星号呢?举个例子,我们在登录一个邮箱时,输入用户时看到的是明文的,但我们在输入密码时,看到的是一个个增加的星号.在使用PowerShell自定义函数时,如何设置才能让输入密码之类的参数时,自己用星号掩盖呢?且往下看. 复制代码 代码如下: function Test-Password {     param     (     [Parameter(Mandatory=$true)]     $

PowerShell中对函数参数的命名建议_PowerShell

PowerShell自定义函数的参数没有具体的命名规则,那么怎么做才能让参数的命名更加科学可持续. 我们应该怎么来命名函数的参数名称呢?有没有一个可供参考的列表?当然微软没有给出来.但是我们可以来理一个列表出来.微软自带了大量的cmdlet,这些cmdlet使用的参数有什么规律呢?我们用下面一段命令来统计一下. 复制代码 代码如下: Get-Command -CommandType Cmdlet | ForEach-Object { $_.Parameters } | ForEach-Objec

PowerShell函数实现类似重载功能实例_PowerShell

本文介绍PowerShell自定义函数是否支持重载,如果支持,如何重载?如果不支持,如何实现与重载相似的效果? 郑重声明:PowerShell自定义函数不支持重载!也就是说,你不能定义两个同名的PowerShell函数,不管参数个数.顺序.类型是否相同.既然PowerShell自定义函数不支持重载功能,那么有没有什么办法来实现与重载相似的效果呢?有,当然有,那就是参数集(Parameters Set) PowerShell自定义函数的参数集是可以为一个函数定义一个参数集,在调用函数时可以从参数集

PowerShell函数中的开关参数介绍和创建实例_PowerShell

本文介绍什么是开关参数,在PowerShell自定义函数中,如何创建开关参数并使用开关参数的值. 什么叫开关参数呢?举个例子,技术男一般都知道有一个网络命令叫"Ping",我们可以使用"ping www.jb51.net"这样一个命令来检查本地计算机到www.jb51.net这个网站所在的服务器网络是否连通.这个命令会从本地发送4个数据包到www.jb51.net服务器,并显示每个数据包是否收到了反馈结果.如果我正在重启www.jb51.net这台服务器,那么pin

PowerShell函数参数设置为即可选又必选的方法_PowerShell

本文介绍PowerShell自定义函数中使用参数集时,可以将同一个参数既设置为可选,又设置为必选. 好吧,小编承认,这个话题有点无聊,但确实还是有点有趣,不妨看一看啦. 在PowerShell中,我们有可能有这样的需求,如果只需要输入某个参数时,这个参数是可选的.但如果还要输入别的参数,那这个参数就变成必选的了.那么这种需求如何来满足呢?那就是本文的意义所在了. 复制代码 代码如下: function Connect-Somewhere {     [CmdletBinding(DefaultP

PowerShell函数参数设置成自动识别数据类型的例子_PowerShell

本文介绍PowerShell自定义函数中使用参数集时,怎么设置系统自动识别参数的数据类型. 识别参数类型的一个好处就是,在使用参数集时,不需要每次都指定参数名称了. 请看下面这个Test-Binding函数.这个PowerShell函数在设置参数集的时候,为参数集中的第一个参数设置了数据类型,这样在调用函数时,就可以自动判断一个参数值它应该赋给哪个参数了. 复制代码 代码如下: function Test-Binding {     [CmdletBinding(DefaultParameter

PowerShell函数中限制数组参数个数的例子_PowerShell

本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数.数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数. PowerShell函数可以接受数组作为输入参数.而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'.这个函数的定义如下: 复制代码 代码如下: functi

PowerShell定义函数参数的2种方法和传参方法实例_PowerShell

本文介绍PowerShell自定义函数定义参数的两种方法,一种是将参数列表放到函数名之后,就跟其它语言定义函数参数一样:另一种则是PowerShell独有的方式,那就是使用param关键词. 先来看看第一种定义参数的方式--将参数列表放到函数名之后 举个例子先看看: 复制代码 代码如下: function Test-Function($参数名1='默认参数值1', $参数名2='默认参数值2') {     Write-Host "参数1=$参数名1,参数2=$参数名2"; } 这种方