首页 / 知识
关于c#:自动更新版本号
2023-04-11 13:54:00

Automatically update version number我希望每个构建版本都可以增加应用程序的version属性,但是我不确定如何在Visual Studio(2005/2008)中启用此功能。 我尝试将AssemblyVersion指定为1.0。*,但它并不能完全满足我的需求。 我还在使用设置文件,并且在较早的尝试中,当程序集版本更改时,由于应用程序在另一个目录中查找设置文件,因此我的设置被重置为默认设置。 我希望能够以1.1.38的形式显示版本号,以便当用户发现问题时,我可以记录他们正在使用的版本,并告诉他们如果具有旧版本,则进行升级。 对版本控制如何工作的简短解释也将不胜感激。 版本号和修订号何时增加? 使用"内置"的东西,您将无法做到,因为使用1.0。*或1.0.0。*会用编码的日期/时间戳替换修订版和内部版本号,这通常也是一种好方法。 有关更多信息,请参见/ v标记中的Assembly Linker文档。 至于自动递增数字,请使用AssemblyInfo任务: AssemblyInfo任务 可以将其配置为自动增加内部版本号。 有2个陷阱:
这样,获取版本号就很容易了:
并且要澄清一下:在.net或至少在C#中,该内部版本实际上是THIRD号,而不是某些人(例如习惯于Major.Minor.Release.Build的Delphi开发人员)所期望的第四个数字。 在.net中,它是Major.Minor.Build.Revision。 VS.NET将Assembly版本默认为1.0。*,并在自动递增时使用以下逻辑:它将构建部分设置为自2000年1月1日以来的天数,并将修订部分设置为自午夜以来的秒数,当地时间除以2。请参阅此MSDN文章。 程序集版本位于assemblyinfo.vb或assemblyinfo.cs文件中。从文件:
我发现,只要需要产品版本,就可以使用以下命令简单显示上次构建的日期:
而不是尝试从类似以下内容的版本:
您正在使用哪种源代码控制系统? 几乎所有文件都具有某种形式的$ Id $标签,该文件会在签入文件时扩展。 我通常使用某种形式的骇客将其显示为版本号。 另一种选择是使用日期作为内部版本号:080803-1448 [Visual Studio 2017,.csproj属性]
要自动更新PackageVersion / Version / AssemblyVersion属性(或其他任何属性),首先,创建一个新的 我手动更新了major.minor号,但让MSBuild自动更新了内部版本号(1.1.1、1.1.2、1.1.3等:)
然后调用您最近在MSBuild上创建的任务,在.csproj文件上添加下一个代码:
选择Visual Studio Pack项目选项(在构建之前只需更改为 在使用NuGet库时,我还通过将下一个构建任务添加到上一个示例中,将该包发送到NuGet存储库。
以防万一它可以帮助某人^ _ ^。 不久前,我写了一个快速而肮脏的exe文件,该文件将更新assemblyinfo中的版本号。{cs / vb}-我还使用过rxfind.exe(一种简单且功能强大的基于正则表达式的搜索替换工具)来执行在构建过程中从命令行进行更新。其他一些有用的提示: 如果您希望每次编译时都会更新一个自动递增的数字,则可以使用预构建事件中的VersionUpdater。如果您愿意,您的预构建事件可以检查构建配置,以便版本号仅针对Release版本(例如)递增。 |
最新内容
相关内容
python如何查看对象属性
python如何查看对象属性,培训,网络,系统,函数,对象,属性,变量,示例,实例,模块,在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要python如何判断对象是否有某个属性
python如何判断对象是否有某个属性,培训,名称,异常,对象,属性,特性,参数,方法,函数,定义,python如何判断某一对象是否有某一属性,可以使用hasapython模块的name属性
python模块的name属性,培训,模块,属性,程序,空格,底下,实例,中间,以上,更多,python模块的name属性一个模块被另一个程序第一次引入时,其主程序python如何转换为私有属性
python如何转换为私有属性,名称,培训,属性,方法,之前,跳高,实例,表示,以上,规则,python如何转换为私有属性1、在属性或方法名称之前增加一个python三种属性管理魔法函数
python三种属性管理魔法函数,管理,培训,属性,函数,方法,魔法,对象,实例,以上,存在,python三种属性管理魔法函数说明1、_setattr_设定未知的属python伪私有属性的理解
python伪私有属性的理解,名称,对外,培训,属性,定义,类别,实例,冲突,前面,后面,python伪私有属性的理解1、说明(1)确保定义类别中的属性(类别python__setattr__的属性设置
python__setattr__的属性设置,数据,管理,培训,属性,方法,实例,字典,函数,是非,下面,python中__setattr__的属性设置1、说明定义类对象管理属关于.net:C#3.0自动属性 – 有
关于.net:C#3.0自动属性 有用与否?,关于.net:C#3.0自动属性 有用与否?,语言,属性,知识,有了,C# 3.0 auto-properties — useful or not?关于vb.net:通过文件资源管理器在我
关于vb.net:通过文件资源管理器在我的应用程序中打开文件,关于vb.net:通过文件资源管理器在我的应用程序中打开文件,应用程序,自定义,iPhone Web应用程序,模板,框架?
iPhone Web应用程序,模板,框架?,iPhone Web应用程序,模板,框架?,应用程序,站点,用于,网页,iPhone web applications, templates, framework关于c#:用户控件属性设计器属性
关于c#:用户控件属性设计器属性,关于c#:用户控件属性设计器属性,可能会,起作用,如何更改,回答,User Control Property Designer Properti如何在SQL Server上启用MSDTC?
如何在SQL Server上启用MSDTC?,如何在SQL Server上启用MSDTC?,抛出异常,应用程序,是一个,我有一个,How do I enable MSDTC on SQL Serv