从库中获取应用程序的版本号

时间:2012-01-09 17:54:51

标签: c# .net windows-phone-7 assemblies version

我正在开发一个试图获取使用它的应用程序版本号的库。

在我的测试应用程序中,当lib使用:

读取版本号时
Assembly.GetExecutingAssembly().FullName;

我得到了lib的版本号,而不是主项目。

有没有一种简单的方法可以找到主应用程序的版本号,而不是我的库?

感谢。

3 个答案:

答案 0 :(得分:8)

要获取版本号(1.2.0.0),请使用以下代码:

string version = XDocument.Load("WMAppManifest.xml").Root.Element("App").Attribute("Version").Value;

答案 1 :(得分:7)

您可以使用Application.Current访问启动应用程序的应用程序实例:

Application.Current.GetType().FullName

话虽如此,我认为没有适用于整个应用程序的版本号。为此,您需要打开WMAppManifest.xml文件并从中读取版本。您可以使用以下方式访问清单文件:

var manifestUri = new Uri("WMAppManifest.xml", UriKind.Relative);
Stream manifestStream = Application.GetResourceStream(manifestUri);

答案 2 :(得分:1)

Assembly.GetEntryAssemlby().FullName;

假设WP7支持此功能。如果没有,请尝试:

typeof(sometype).Assembly.FullName;

来自主模块的其中一种类型。