今天在开发过程中,发现软件的版本号不对。今天在开发过程中,发现软件的版本号不对。
今天在开发过程中,发现软件的版本号不对。
后面分析,发现调用的是
var a = Application.ProductVersion;
复制代码
这个原本是可以的,因为启动项目就是本项目,后面启动项目改了,在原来的基础上又加了一个项目,相当于B项目调用A项目,这样导致Application.ProductVersion读取的是B项目的版本号,获取的版本号是1.0.0,所以只能修改获取版本号的方法。
后面查到获取程序集的方法
var b = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
复制代码
这样是获取程序集的版本,但是如果版本号前面有0,则或被省略
比如版本号是1.10.30.0611,用上面的方法读取处理则是1.10.30.611,则显然不符合要求
后面又查到另一个方法
var assemblyLocation = System.Reflection.Assembly.GetExecutingAssembly().Location;
var c = System.Diagnostics.FileVersionInfo.GetVersionInfo(assemblyLocation).FileVersion;
复制代码
这个方法是获取程序集的位置,再获取它的文件版本号,其实获取程序集的ProductVersion也是可以的。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END