社区
C#
帖子详情
如何获取 ClickOnce 部署的应用程序的发布版本号?(不是程序集版本号)
davidtsui
2009-03-03 10:26:37
如题,一个 C# winform 项目在发布后(ClickOnce 部署),会有个发布版本号,如何获取这个版本号呢?
凡是提供程序集版本号获取方法的,恕不给分,谢谢。
...全文
1474
8
打赏
收藏
如何获取 ClickOnce 部署的应用程序的发布版本号?(不是程序集版本号)
如题,一个 C# winform 项目在发布后(ClickOnce 部署),会有个发布版本号,如何获取这个版本号呢? 凡是提供程序集版本号获取方法的,恕不给分,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wdpKira
2012-09-13
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
楼上的别激动,其实5楼说的是程序集,文件版本和部署的版本,确实不是楼主需要的ClickOnce版本,露怯了。
楼主可以试一下下面的代码
var appIdenity = AppDomain.CurrentDomain.ActivationContext.Identity;
MessageBox.Show(appIdenity.FullName.ToString());
[/Quote]
clickonce版本获取方式就是5楼说的那个部署版本
try
{
string k = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
return k;
}
catch
{
return "未知版本";
}
不过,必须得发布以后允许程序才能看到版本信息,如果直接调试运行的话是获取不到版本信息的
lionson08191
2012-08-30
打赏
举报
回复
楼上的别激动,其实5楼说的是程序集,文件版本和部署的版本,确实不是楼主需要的ClickOnce版本,露怯了。
楼主可以试一下下面的代码
var appIdenity = AppDomain.CurrentDomain.ActivationContext.Identity;
MessageBox.Show(appIdenity.FullName.ToString());
qqcjw
2009-05-22
打赏
举报
回复
[Quote=引用 2 楼 hbxtlhx 的回复:]
这个只是用来发布程序用的,应用程序可能跟本不知道它的存在怎么能获取到这个版本号呢?
这就像有一个安装程序Setup.exe安装了一个Exe程序,想在这个Exe程序里获取这个Setup.exe的信息一样。其实Exe程序是不知道Setup.Exe的。
[/Quote]
你懂不懂的?如果获不到版本号。程序怎样自动更新。
还有你举的例狗理不通。
这个exe 不能获得另一个exe 信息。跟你说了只要是两个
正在运行
在window 下程序。我有办法获得它的信息。无论它有没有公开。有公开就直接获得。。没有公开做个钩子做到它的进程里。有什么信息获取不到。其它操作系统不敢说。就眼下XP以下系统都没有问题。妈的。不懂就学一楼。乱叫!献世!
楼主也是猪。说什么“ 授我以渔,谢谢~”。你猪啊!按他的打鱼方法。饿死你啦!
ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(); 很明显五楼这个正解。你又不给分。。
楼主真是猪兼不讲信用加上没有眼光(给欺世盗名之辈40分)。
wayne2082
2009-04-03
打赏
举报
回复
[Quote=引用 4 楼 davidtsui 的回复:]
引用 2 楼 hbxtlhx 的回复:
这个只是用来发布程序用的,应用程序可能跟本不知道它的存在怎么能获取到这个版本号呢?
这就像有一个安装程序Setup.exe安装了一个Exe程序,想在这个Exe程序里获取这个Setup.exe的信息一样。其实Exe程序是不知道Setup.Exe的。
授我以渔,谢谢~
[/Quote]
并不是这样的
using System.Deployment.Application;
Content.Text = "程序集版本:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() +"\n";
Content.Text += "文件版本:" + Application.ProductVersion.ToString() +"\n";
Content.Text += "部署版本:" + ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
楼主是想得到"部署版本"吧。上面的代码就可以获取。
davidtsui
2009-03-03
打赏
举报
回复
[Quote=引用 2 楼 hbxtlhx 的回复:]
这个只是用来发布程序用的,应用程序可能跟本不知道它的存在怎么能获取到这个版本号呢?
这就像有一个安装程序Setup.exe安装了一个Exe程序,想在这个Exe程序里获取这个Setup.exe的信息一样。其实Exe程序是不知道Setup.Exe的。
[/Quote]
授我以渔,谢谢~
davidtsui
2009-03-03
打赏
举报
回复
[Quote=引用 1 楼 ximi82878 的回复:]
真不知道,帮顶给分不?
[/Quote]
给……
北京的雾霾天
2009-03-03
打赏
举报
回复
这个只是用来发布程序用的,应用程序可能跟本不知道它的存在怎么能获取到这个版本号呢?
这就像有一个安装程序Setup.exe安装了一个Exe程序,想在这个Exe程序里获取这个Setup.exe的信息一样。其实Exe程序是不知道Setup.Exe的。
ximi82878
2009-03-03
打赏
举报
回复
真不知道,帮顶给分不?
Click
Once
部署
(1):一些
发布
方式
Click
Once是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌。因此,有关
Click
Once的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本。http://baike.baidu.com/view/1390498.htm 如果你对这些理论的东西不感兴趣,没关系,上面所提
掌握
Click
Once技术:
获取
部署
发布
信息的详细指南
Click
Once是微软
发布
的一种
部署
技术,旨在简化Windows桌面应用
程序
的
部署
和更新过程。开发者可以通过
Click
Once将应用
程序
部署
到服务器上,并允许用户通过简单的单击操作来安装和运行应用
程序
。这种技术特别适用于那些需要频繁更新且希望用户能自动接收最新版本的应用
程序
。在现代软件开发中,确保应用
程序
能够快速且安全地更新是非常关键的。
Click
Once提供了一套机制来管理应用更新,但有时默认行为不足以满足特定需求。
获取
使用
Click
Once
部署
的应用
程序
的
版本号
引子 在编写使用
Click
Once
部署
的应用
程序
时,需要在
程序
的标题栏、软件变更记录、软件关于等页面读取显示当前的
版本号
。 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地方读取,有更新修改Resource即可。 其实这样做也有一个好处,就是自己可以控制需要显示的
版本号
,版本信息显示到Build即可,而可能不需要显示到Revision。
Click
...
Click
Once
部署
(2):自动更新
上次我们说了如何用最基本的方式用
Click
Once技术
部署
应用
程序
项目,本篇我们来认识一下如何让应用
程序
具备自动更新的功能。 我们依然通过实例来学习。 第一步,随便建一个应用
程序
项目,至于是控制台、WPF还是WinForm就随意吧,我们的重点
发布
应用
程序
。比如这样: 为了更好的演示,我们可以在窗口上显示当前
发布
的
版本号
。我这里是一个WinForm项目,故我就用一个Label控件来显示当前
VB.net小技巧——
Click
Once应用
程序
版本号
自动递增
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 VB.net小技巧——
Click
Once应用
程序
版本号
自动递增
Click
Once应用
程序
每次在更新版本的时候,我都会在主窗口的标题添加当前
版本号
,但是因为每次都要手动更新MainForm.text的内容免不了经常忘记更改。有没有什么办法让每次
发布
一次就自动递增
版本号
呢.显然是有的。直接上代码 If (System.Deployment.Application.ApplicationDeployment.IsNetworkD
C#
111,129
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章