在 AssemblyInfo
中有两个汇编版本:
-
AssemblyVersion
:指定要归属的程序集的版本 . -
AssemblyFileVersion
:指示编译器为Win32文件版本资源使用特定版本号 . Win32文件版本不需要与程序集的版本号相同 .
我可以使用以下代码行获取 Assembly Version
:
Version version = Assembly.GetEntryAssembly().GetName().Version;
但我怎样才能获得 Assembly File Version
?
6 回答
更新:正如Richard Grimes在my cited post,@ Iain和@Dmitry Lobanov所提到的,我的答案在理论上是正确的,但在实践中是错误的 .
正如我应该记得的无数书籍等,当使用
[assembly: XXXAttribute]
设置这些属性时,它们会被编译器劫持并置于VERSIONINFO
资源中 .由于上述原因,您需要在@Xiaofu's answer中使用该方法,因为在从中提取信号之后将剥离属性 .
(来自http://bytes.com/groups/net/420417-assemblyversionattribute - 如前所述,如果您正在寻找不同的属性,请将其替换为上述内容)
请参阅上面的评论,要求澄清您真正想要的内容 . 希望这是它:
当我想访问应用程序文件版本(在程序集信息 - >文件版本中设置)时,比如在表单加载时设置标签的文本以显示版本,我刚刚使用过
您可以使用
My.Application.Info.Version
获得汇编版本用这个:
或这个:
有three versions: assembly , file 和 product . 它们由不同的功能使用,如果您没有明确指定它们,则采用不同的默认值 .