获取使用ClickOnce部署的应用程序的版本号

引子

在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏、软件变更记录、软件关于等页面读取显示当前的版本号。

之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地方读取,有更新修改Resource即可。

其实这样做也有一个好处,就是自己可以控制需要显示的版本号,版本信息显示到Build即可,而可能不需要显示到Revision。

获取使用ClickOnce部署的应用程序的版本号

ClickOnce的版本值

这样每次修改都很麻烦,当不需要去控制显示的版本值时,直接读取Publish填写的版本值即可。

下面的代码即是读取ClickOnce版本值的方法。

//获取Publish的版本
private Version GetRunningVersion()
{
    try
    {
        return System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion;
    }
    catch
    {
        return Assembly.GetExecutingAssembly().GetName().Version;
    }
}

这里需要注意的是,当在本地调试时,获取到的是Assembly中的版本值,即如下面在项目属性页面中设置的值。

获取使用ClickOnce部署的应用程序的版本号

而当用户使用ClickOnce安装后,读取到的即是在Publish前设置的值。


作者:Parry
出处:http://www.cnblogs.com/parry/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

上一篇:Nginx 用ModSecurity实现WAF功能


下一篇:自定义View添加自定义属性详细