如何访问 .NET Standard 2.0 DLL 中的文件?

2024-01-11

谢谢你的拜访。

这是我面临的问题,希望得到一些帮助。

我正在尝试访问 .NET 标准 DLL 中的文件。如果我在测试 UWP 应用程序中使用 Windows.Storage 命名空间,则一切正常,如下所示:

Windows.Storage.StorageFile f = await StorageApplicationPermissions.FutureAccessList.GetFileAsync("TestPickedFileToken1");
        txt.Text = await Windows.Storage.FileIO.ReadTextAsync(f);

真正的应用程序是访问 .NETStandard 2.0 DLL 的 MVVM UWP 应用程序(针对 Fall Creators Update)。问题是我找不到包含 Windows.Storage 命名空间的程序集以添加到我的 DLL 中。它在 UWP 中可用,当我尝试在 System.IO 中使用以下内容时,它使我可以访问 DLL 中的路径被拒绝错误:

string s = File.ReadAllText(filename);

我需要从 DLL 读取/写入文件。如果我在 UWP 应用程序的 ViewModel 中读/写,它将起作用,但我不想这样做。是否可以在我的 DLL 中添加对 Windows.Storage 的引用,或者是否有其他方法可以访问 DLL 中的文件?

在此先感谢您的帮助!


Update

这篇文章中的信息已过时。请参考例如这里 https://stackoverflow.com/a/49854399/732221.

原答案

不幸的是,如果没有以下命令,您将无法访问任何文件路径StorageFileAPI。当用户授予您使用文件的访问权限时FilePicker你会得到以下形式的参考StorageFile,您仍然无法直接使用访问相同的路径System.IO类。

同时你不能使用StorageFile.NET 标准库中的 API。然而,你可以做的是得到一个System.IO.Stream from a StorageFile然后您可以在 .NET Standard 库中使用它:

var readStream = await file.OpenStreamForReadAsync();
var writeStream = await file.OpenStreamForWriteAsync();

要访问此扩展方法,请确保添加using System.IO;到源代码文件的顶部。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 .NET Standard 2.0 DLL 中的文件? 的相关文章

随机推荐

  • NuGet - RID 和 TFM 示例

    我一直在 GitHub 上查看 NuGet3 的代码 并且在以下位置看到了几种文件夹模式https github com NuGet NuGet3 blob a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39
  • 如何在Python中用空格替换所有这些特殊字符?

    如何在 python 中用空格替换所有这些特殊字符 我有一份公司名称清单 例如 myfiles txt 我的公司 INC 老酒私人有限公司 大师头脑有限公司 顶点实验室有限公司 印度新公司 印美私人有限公司 这里 按照上面的例子 我需要文件
  • 如何从 Java 运行 cygwin?

    我想从 Java 开始 如何从 Java 程序启动 cygwin 首先 您必须将 bash exe 设置为环境变量 以便此行将启动 bash Runtime rt Runtime getRuntime execute bash
  • 使用 Firebase Auth 登录 iOS 应用是否满足“导出合规信息”加密要求

    在使用 App Store Connect 上传应用程序时 我看到过有关导出合规性信息加密问题的类似问题 但我仍在寻找问题的直接答案 我正在上传 iOS 应用程序 必须回答以下问题 出口合规信息 您的应用程序使用加密吗 即使您的应用程序仅使
  • Sharepoint 2013 计算字段作为超链接呈现为文本

    I have a column in Sharepoint 2013 and set the type to Calculated I have set the data return type to integer pic attache
  • 如何在中间件中使用“this”上下文

    我出于我的目的编写了自己的中间件作为模块 如下所示 myMiddleware js module exports fn1 function req res next console log fn1 next fn2 function req
  • 错误:无法加载 libphutil

    我们已经安装运行Phabricator在我们的一台服务器中 今天 我按照 中给出的标准步骤对其进行了升级 https secure phabricator com book phabricator article upgrading htt
  • 在 Linq EF 查询中使用 SQRT

    我需要使用 SQRT 函数作为 Linq EF 查询中 where 子句的一部分 我想我可以这样做 var qry context MyTable Where sqrt it field gt 1 但它返回一个错误 指出 sqrt 无法解析
  • 强制某些编译器生成的变量进入特定的 ELF 部分(使用 gcc)

    我将从最终的问题开始 在带有 gcc 的 C 中 是否有可能获得以下值 func 或同等地 FUNCTION 存储在除 rodata 或任何地方 mrodata 点 或其小节 完整解释 假设我有一个日志记录宏 define LOG fmt
  • Xcode 无法在选定的目标上运行

    今天早上我正在运行我的应用程序 现在当我尝试在 iPhone 5 1 模拟器上运行时突然出现以下错误 无法在选定的目的地上运行 目标不支持构建所选软件的体系结构 切换到支持该架构的目标以运行所选软件 我删除了方案 但仍然没有解决方案 我正在
  • 显式模板实例化的 gcc 问题?

    据我了解 专业化的声明或 typedef 应该导致模板类被实例化 但 gcc 似乎不会发生这种情况 例如 我有一个模板类 模板类Foo 我写的 class Foo
  • 调整图像大小而不损失任何质量[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何在不影响图像质量的情况下调整图像
  • 在整个应用程序中设置 on_delete 的简单方法

    我一直在使用 WdPython 的论据并发现tons为了准备升级到 Django 2 0 我需要进行一些更改 python Wd manage py runserver 最主要的是on delete https docs djangopro
  • Firestore 上的条件 where 查询

    我尝试在这里实施解决方案 firestore 查询中的条件 where 子句 https stackoverflow com questions 48514932 conditional where clause in firestore
  • document.referrer 存在但始终为空

    我正在 iOS 8 上开发一个移动应用程序 document referrer 似乎总是空的 我尝试使用以下方法检查它是否存在 if referrer in document alert referrer document referrer
  • Azure Functions - Blob 流输出绑定

    我创建了一个带有 blob 存储触发器的 Azure 函数 我想处理一个文件 然后将文件转储到另一个 blob 存储容器 在最简单的情况下 我想它会是这样的 public static void Run Stream blob string
  • 使用 Sencha 添加视频

    我想使用 Sencha 在我的网站中添加 YouTube 视频 我使用以下代码 var pnl new Ext Panel layout type vbox pack center items xtype video url space m
  • 如何在 Codeigniter 中使用测验机制

    我正在 Codeigniter 中构建一个简单的测验应用程序 其中向用户展示一张图像 让他们猜测它是对还是错 类似于 热与否 有 25 个问题 全部回答是或否 我可以选择创建 25 个页面并在隐藏字段中保留以前的结果 但这似乎有点冗长和愚蠢
  • 如何使用 TortoiseSVN 只检出(下拉)SVN 树的一部分?

    我正在使用 TortoiseSVN 我想将现有存储库签出到本地目录中 但是 我只想拉下文件树的某些部分 我有办法做到这一点吗 例如 trunk project A project B project C 假设我只想拉下主干 项目 A 和项目
  • 如何访问 .NET Standard 2.0 DLL 中的文件?

    谢谢你的拜访 这是我面临的问题 希望得到一些帮助 我正在尝试访问 NET 标准 DLL 中的文件 如果我在测试 UWP 应用程序中使用 Windows Storage 命名空间 则一切正常 如下所示 Windows Storage Stor