如何获取 ClickOnce 部署的应用程序的发布版本号?(不是程序集版本号)

davidtsui 2009-03-03 10:26:37
如题,一个 C# winform 项目在发布后(ClickOnce 部署),会有个发布版本号,如何获取这个版本号呢?

凡是提供程序集版本号获取方法的,恕不给分,谢谢。
...全文
1261 8 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
真不知道,帮顶给分不?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧