You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Forms UWP项目读取AppSettings.txt报文件未找到问题排查

嘿,我来帮你搞定UWP项目里读取AppSettings.txt的问题!你Android端能正常读取,但UWP老是报找不到文件,核心原因是UWP的文件访问机制和路径处理逻辑和Android完全不一样,咱们一步步来解决:

一、文件放置的正确位置

建议把AppSettings.txt放在UWP项目的Assets文件夹里,这是UWP官方推荐的资源存放目录,管理起来更规范,也能避免路径混乱。

二、确认Build Action和Copy选项的设置

选中AppSettings.txt,在右侧属性窗口里检查这两项:

  • Build Action必须设为Content(你已经试过,但要确保没选错,有时候右键文件→属性里的设置容易被忽略)
  • Copy to Output Directory设为Copy if newer或者Copy always(你选了Always没问题,但建议右键项目→清理→重建一次,确保设置生效)

三、读取代码的关键修正(重点!)

UWP有应用沙箱限制,不能像Android那样直接用File.ReadAllTextAsync这类方法写相对路径,必须用UWP专属的文件访问API。给你两种可靠的实现方式:

方法1:通过应用安装目录获取文件

using Windows.Storage;
using System.IO;

public async Task<string> ReadAppSettingsAsync()
{
    try
    {
        // 获取UWP应用安装目录下的Assets文件夹
        StorageFolder assetsFolder = await Package.Current.InstalledLocation.GetFolderAsync("Assets");
        // 定位到目标文件
        StorageFile settingsFile = await assetsFolder.GetFileAsync("AppSettings.txt");
        // 读取文件内容
        string content = await FileIO.ReadTextAsync(settingsFile);
        return content;
    }
    catch (Exception ex)
    {
        // 这里可以根据需求添加日志或用户提示
        throw new Exception("读取配置文件失败:" + ex.Message);
    }
}

方法2:通过应用内URI直接访问

这种方式更简洁,不用逐层找文件夹:

using Windows.Storage;

public async Task<string> ReadAppSettingsAsync()
{
    try
    {
        // UWP应用内URI格式:ms-appx:///[文件夹]/[文件名]
        Uri fileUri = new Uri("ms-appx:///Assets/AppSettings.txt");
        StorageFile settingsFile = await StorageFile.GetFileFromApplicationUriAsync(fileUri);
        string content = await FileIO.ReadTextAsync(settingsFile);
        return content;
    }
    catch (Exception ex)
    {
        throw new Exception("读取配置文件失败:" + ex.Message);
    }
}

四、常见坑点排查

  • 绝对不要用File类的方法直接读取!UWP沙箱会阻止这种跨权限的访问,必须用Windows.Storage命名空间下的API。
  • 检查文件名和路径的拼写,UWP的文件系统是区分大小写的,比如appsettings.txt和AppSettings.txt会被识别成两个不同的文件。
  • 如果之前把文件放在项目根目录,对应的URI是ms-appx:///AppSettings.txt,但还是推荐统一放在Assets文件夹里,便于维护。

内容的提问来源于stack exchange,提问作者Coskun Ozogul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:52:44