如何读取UWP桌面项目中已包含文件夹内的文本文件?
UWP读取应用包内文本文件的正确方法
直接用File.ReadAllText搭配ms-appx:///路径会报错,因为传统.NET文件API不识别UWP特有的应用包协议路径。
正确实现代码
需要用UWP的StorageFile和异步API来读取,示例如下:
private async Task<string> GetStructureContentAsync() { // 构建应用包内文件的URI var fileUri = new Uri("ms-appx:///MyData/structure.txt"); // 获取文件对象 var storageFile = await StorageFile.GetFileFromApplicationUriAsync(fileUri); // 读取文本内容 return await FileIO.ReadTextAsync(storageFile); }
关键注意点
- 确保项目里的
MyData/structure.txt文件,在属性窗口中设置:- 生成操作:
内容 - 复制到输出目录:
如果较新则复制
这样文件才会被正确打包到应用安装包中。
- 生成操作:
- 应用包内的文件是只读的,无法修改,若需要可写文件,要放到应用的本地存储或其他可访问位置。
内容的提问来源于stack exchange,提问作者Jose Afonso Braga
相关产品推荐
相关产品推荐

