【C#】获取软件版本号错误,要获取程序集版本号,文件版本号

今天在开发过程中,发现软件的版本号不对。今天在开发过程中,发现软件的版本号不对。

今天在开发过程中,发现软件的版本号不对。

后面分析,发现调用的是

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
喜欢就支持一下吧
点赞0 分享