首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行时检查Windows应用程序AppxManifest

在运行时检查Windows应用程序AppxManifest
EN

Stack Overflow用户
提问于 2015-02-20 13:35:44
回答 1查看 132关注 0票数 0

我试着在运行时加载AppxManifest来读取应用程序的版本。我喜欢这篇文章:http://tonychampion.net/blog/index.php/2013/01/examining-the-windows-store-apps-appxmanifest-at-runtime/#comments

我试着从邮局接电话:

代码语言:javascript
复制
var doc = XDocument.Load("AppxManifest.xml", LoadOptions.None);

但是这会抛出以下异常:

代码语言:javascript
复制
{System.Xml.XmlException: An internal error has occurred.
   at System.Xml.XmlXapResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   at System.Xml.XmlTextReaderImpl.FinishInitUriString()
   at System.Xml.XmlTextReaderImpl..ctor(String uriStr, XmlReaderSettings settings, XmlParserContext context, XmlResolver uriResolver)
   at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
   at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)
   at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
   at MyMedi.Src.Utilities.GetVersion()
   at MyMedi.WindowsPhone.Test.Src.UtilitiesTest.Utilities_GetVersionTest()}

有人能告诉我我做错了什么吗?

谢谢NPadrutt

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-20 13:39:35

我不知道您为什么要这样做,但是您可以尝试在文件引用中加载带有ms-appx:// uri模式的文档。

不过,有一个更容易的方法来实现你的目标。

代码语言:javascript
复制
Package package = Package.Current;
PackageId packageId = package.Id;
PackageVersion version = packageId.Version;

var versionString = string.Format(
               CultureInfo.InvariantCulture,
               "{0}.{1}.{2}.{3}",
               version.Major,
               version.Minor,
               version.Build,
               version.Revision);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28630272

复制
相关文章

相似问题

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