【问题标题】:How to deploy a file in UWP如何在 UWP 中部署文件
【发布时间】:2018-02-25 06:18:34
【问题描述】:

我的 UWP 需要加载一个文件,我想知道:

  1. 该文件放在哪里,包安装文件夹还是应用程序数据文件夹?

  2. 当我使用 VS 2015 部署我的应用程序时,如何将此文件部署到我想要的文件夹中?

【问题讨论】:

  • 如果您想添加应用程序附带的文件,请将其添加到您的解决方案中,将其构建操作设置为内容,然后您可以在InstalledLocation or by URI 中找到它。 AplicationData 文件夹用于存放应用安装后添加的数据。

标签: c# uwp


【解决方案1】:

您可以将文件作为资源或内容文件添加到项目中。如果文件是图像、SQLite 数据库或文本文件,最好的方法是 Content 构建操作。

然后您可以使用StorageFile.GetFromApplicationUriAsync 访问该文件:

var storeLogoFile = StorageFile.GetFromApplicationUriAsync( 
        new Uri( "ms-appx:///Assets/StoreLogo.png" ) );

如果您更喜欢使用System.IO,也可以获取Path 本身:

var packagePath = Package.Current.InstalledLocation;
var filePath = Path.Combine( packagePath, "Assets/StoreLogo.png" );
//do something with the file

但是,这种方法仅在您只需要读取文件时才有效。如果还需要修改,则需要先复制到ApplicationData.Current.LocalFolder:

var applicationDataFileCopy = 
     storeLogoFile.CopyAsync( ApplicationData.Current.LocalFolder );

您可能只想这样做一次,因此您可以先检查文件是否已存在于ApplicationData 中,然后再继续。

【讨论】:

  • 谢谢,马丁。它是一个二进制文件。我不需要写它,只需阅读它。放在包安装文件夹可以吗?
  • 如果它解决了您的问题,请考虑接受答案作为解决方案,以便问题得到解决:-)
  • 如果你只是想看,可以把它作为Content文件放到项目中,从包安装文件夹中读取。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-30
  • 1970-01-01
相关资源
最近更新 更多