【问题标题】:How to write files to the applications root directory in UWP c#如何将文件写入UWP c#中的应用程序根目录
【发布时间】:2020-03-27 01:29:25
【问题描述】:

目前我使用StorageFolder storageFolder = ApplicationData.Current.LocalFolder写数据

这在我的计算机上运行良好,但结果是数据被写入了一个令人讨厌的文件路径:C:\Users\User1\AppData\Local\Packages\fd93e2b2-6652-4264-be36-c5e45d17d2b4_ywwvhtjmx9rt8\LocalState

但是我想将 UWP 应用程序发送给其他人以便他们可以对其进行测试,并且我希望能够将文件全部保存在一个文件夹中(与解决方案相同的文件夹),以便他们可以解压缩它并运行它,而不必像上面那样将文件保存在随机位置。

在 UWP 中可以做到这一点吗?

【问题讨论】:

  • 我不是这样工作的。您需要打包您的包裹以将其发送给其他人。所有文件也应该在应用程序中。项目->上下文菜单->发布->创建应用程序包。如果你想发送文件,你应该在你的应用程序中进行导入导出。当然,您可以手动将这些文件放在目标 PC 应用程序文件夹中。但这很奇怪。
  • 如果您不想将文件包含到您的应用中,请查看以下答案stackoverflow.com/a/60825772/1099716
  • 如果您想侧载它,用户必须将您的证书添加到本地计算机的受信任根证书中。或者,您需要购买付费的代码签名证书。
  • 您是否将 VS 解决方案传递给某人进行测试?然后他们会把文件压缩起来发回给你?

标签: c# file uwp save


【解决方案1】:

您可以从Package 类中获取应用程序的安装位置。

// Get the path to the app's "data" folder.
string rootDirectory = Windows.ApplicationModel.Package.Current.InstalledLocation.Path;
string path = rootDirectory + @"\Data";

然后就可以从路径中获取Storage文件夹了

// Get the folder object that corresponds to this absolute path in the file system.
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(path);

【讨论】:

    猜你喜欢
    • 2021-01-22
    • 2011-10-31
    • 2019-01-28
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多