首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对WindowsMobile5.0 AssemblyInformationalVersionAttribute查询PocketPC

针对WindowsMobile5.0 AssemblyInformationalVersionAttribute查询PocketPC
EN

Stack Overflow用户
提问于 2012-06-25 15:41:02
回答 2查看 1.3K关注 0票数 0

我的AssemblyInfo.cs文件中有一个版本号,如下所示:

[assembly: AssemblyInformationalVersion("0.0.0.2")]

通常,我可以使用FileVersionInfo访问这些信息,并且我确实有一个对System.dll的引用(通常定义这个类),但是System.Diagnostics命名空间似乎不可用。

VS说的路径是我所引用的系统程序集:

C:\程序文件(x86)\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\System.dll

简而言之:如何在应用程序中显示应用程序的版本字符串(AssemblyInformationalVersion)?

编辑:使用

Assembly.GetExecutingAssembly().GetName().Version.ToString()

返回"0.0.0.0“,因为该属性没有在我的AssemblyInfo.cs文件中定义。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-25 16:02:01

解决方案是在AssemblyInfo.cs中手动输入以下内容:

[assembly: AssemblyVersion("1.2.3.4")]

我不知道Visual为什么省略它,但是通过添加它,

Assembly.GetExecutingAssembly().GetName().Version

返回预期值。

总之:我使用了正确的代码,但是我的AssemblyInfo.cs文件中有错误的信息。

票数 -1
EN

Stack Overflow用户

发布于 2012-06-25 15:51:19

所以你想要得到你自己的应用程序的版本:

代码语言:javascript
复制
Debug.WriteLine(string.Format("My App Version: {0}",
    Assembly.GetExecutingAssembly().GetName().Version.ToString()));

或CF程序集的版本:

代码语言:javascript
复制
Debug.WriteLine(string.Format("System.dll Version: {0}",
    typeof(int).Assembly.GetName().Version.ToString()));

EDIT1

或者实际的本机FileInfo版本 (我想这是你要找的)。

EDIT2

也可以对托管程序集执行此操作:

代码语言:javascript
复制
var a = Assembly.GetExecutingAssembly().GetCustomAttributes(
    typeof(AssemblyInformationalVersionAttribute), true)
    .FirstOrDefault() as AssemblyInformationalVersionAttribute;
Debug.WriteLine(string.Format("AssemblyInformationalVersion: {0}",
a.InformationalVersion));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11192566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档