【发布时间】:2018-03-22 08:35:58
【问题描述】:
我们如何从 UWP 访问作为资源嵌入到 .Net Standard 2 类库中的文件?问题How to access content from a Net Standard 2.0 class libary from UWP 返回一个流。我们如何返回一个 StorageFile?
该文件位于名为 Shared 的 .Net Standard 2 项目中,该项目与 UWP 项目位于同一解决方案中。该文件位于 Shared/Reports 中,并设置为作为 EmbeddedResource 复制到输出。
我试过了
Uri resourcePath = new Uri("ms-appx:///Shared/Reports/MyReport");
StorageFile myFile = await StorageFile.GetFileFromApplicationUriAsync(resourcePath);
和
Uri resourcePath = new Uri("Shared/Reports/MyReport");
StorageFile myFile = await StorageFile.GetFileFromApplicationUriAsync(resourcePath);
两者都返回FileNotFoundException。
StorageFile.GetFileFromApplicationUriAsync 是合适的方法吗?如果是这样,如何正确格式化 URI?
【问题讨论】:
-
您想通过访问 StorageFile 做什么?一般来说,您可以通过使用文件流获得相同的目标。
-
感谢@Xavier Xie - MSFT 我知道如何将目标作为流检索。但我需要返回一个 StorageFile 对象。
-
您可以在本地文件夹中创建一个 StorageFile 并写入它。请查看类似的帖子:stackoverflow.com/questions/13336341/…
-
再次感谢@@Xavier Xie - MSFT。我不明白你引用的例子,我注意到 OP 也无法让它工作。 InMemoryRandomAccessStream() 如何用于从作为资源嵌入到 .Net Standard 2 类库中的文件中读取? InMemoryRandomAccessStream() 文档来自 Windows 8.1。
-
您说要获取StorageFile,但是使用您在原始帖子中提到的上述方法,您只能获取流。然后,我告诉你尝试将流保存到 StorageFile。
标签: c# uwp .net-standard .net-standard-2.0