Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Appxmanifest-有没有办法在代码中找到这一部分?_C#_Visual Studio 2012_Windows Runtime_Appxmanifest - Fatal编程技术网

C# Appxmanifest-有没有办法在代码中找到这一部分?

C# Appxmanifest-有没有办法在代码中找到这一部分?,c#,visual-studio-2012,windows-runtime,appxmanifest,C#,Visual Studio 2012,Windows Runtime,Appxmanifest,我知道您可以访问Windows.ApplicationModel.Package.Current并使用Id.Name获取名称,但这似乎是我清单中的包名称。相当长的一串数字和字母 如何从代码内部获取清单中的包显示名称、发布者显示名称。我宁愿让它充满活力 有什么建议吗?清单是一个xml文件,因此您可以使用Linq to xml查询它: using System.Xml.Linq; using Windows.ApplicationModel; using Windows.Storage; priv

我知道您可以访问
Windows.ApplicationModel.Package.Current
并使用Id.Name获取名称,但这似乎是我清单中的包名称。相当长的一串数字和字母

如何从代码内部获取清单中的包显示名称、发布者显示名称。我宁愿让它充满活力


有什么建议吗?

清单是一个xml文件,因此您可以使用Linq to xml查询它:

using System.Xml.Linq;
using Windows.ApplicationModel;
using Windows.Storage;

private async void GetInfo(object sender, RoutedEventArgs e)
{
    StorageFile file = await Package.Current.InstalledLocation.GetFileAsync("AppxManifest.xml");
    string manifestXml = await FileIO.ReadTextAsync(file);
    XDocument doc = XDocument.Parse(manifestXml);
    XNamespace packageNamespace = "http://schemas.microsoft.com/appx/2010/manifest";
    var displayName = (from name in doc.Descendants(packageNamespace + "DisplayName")
                       select name.Value).First();
    var publisherDsplName = (from publisher in doc.Descendants(packageNamespace + "PublisherDisplayName")
                             select publisher.Value).First();
    string output = "DisplayName: " + displayName + ", PublisherDisplayName: " + publisherDsplName;
    txtBlock.Text = output;
}

我不是特别喜欢那种方式。我将在资源文件中添加一些内容来涵盖这些内容,并就此结束。