我正在开发一个试图获取使用它的应用程序版本号的库。
在我的测试应用程序中,当lib使用:
读取版本号时Assembly.GetExecutingAssembly().FullName;
我得到了lib的版本号,而不是主项目。
有没有一种简单的方法可以找到主应用程序的版本号,而不是我的库?
感谢。
答案 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;
来自主模块的其中一种类型。