Windows 通用 C#:获取项目文件返回 FNFE

Posted

技术标签:

【中文标题】Windows 通用 C#:获取项目文件返回 FNFE【英文标题】:Windows Universal C#: Getting project files returns a FNFE 【发布时间】:2016-04-19 20:47:30 【问题描述】:

我正在编写 WUP 应用程序,如果两个值相同,我需要将数据库文件从应用程序复制到用户本地文件夹。我遵循了许多关于如何访问项目文件的建议,但它们都不起作用,最后听取了 Windows 开发人员的建议,但这只是抛出 FileNotFoundException...

我的代码是

try  await (await FileUtils.GetLocalFolder().GetFolderAsync("Database")).GetFileAsync("DB.json"); 
catch (FileNotFoundException d)  await (await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Database/DB.json"))).CopyAsync(await FileUtils.GetLocalFolder().GetFolderAsync("Database")); 

我查看了我的项目目录名和文件名,但仍然没有运气,一切看起来都很好。

如果您需要有关如何帮助解决此问题的更多信息,请询问:)

【问题讨论】:

【参考方案1】:

以下代码将您的文件放入项目文件夹中:

var folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Database");
var file = await folder.GetFileAsync("DB.json");

只需确保您已将 db.json 的构建操作设置为“内容”。请参阅屏幕截图。

我刚刚检查过,它可以在我的机器上运行。

在此处查找工作示例中的代码: https://github.com/DanielMeixner/so/tree/master/FileAccess/App1

【讨论】:

谢谢!我以前在 VS 中从来没有见过这个,但是,我从来没有看过属性窗口哈哈。这很有效,我对自己错过了一些基本的东西感到生气。

以上是关于Windows 通用 C#:获取项目文件返回 FNFE的主要内容,如果未能解决你的问题,请参考以下文章

在通用 Windows 平台 C# 中使用 DeviceWatcher 填充 ComboBox

是否可以将文件保存到确切的特定位置? (Windows 8.1 通用应用程序 C#)

第一个应用

c# - 从 SqlDataReader 填充通用列表

字符串数组中的文件名 c# Universal Windows

C# Uwp app webbrowser 控件无法获取设备位置