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

MAUI引用外部程序集JSON链接文件时抛出FileNotFoundException

MAUI项目中链接引用的appsettings.json文件找不到的解决方法

问题核心在于链接文件的输出复制配置缺失:直接添加文件到MAUI项目时,Visual Studio会自动为文件添加CopyToOutputDirectory属性,但通过链接方式添加的文件不会默认配置这个属性,导致运行时文件没有被复制到可访问的输出目录,从而抛出FileNotFoundException。

以下是具体解决步骤:

  • 修改MAUI项目的.csproj文件,手动添加链接文件的复制配置
    在项目文件的<Project>根节点内插入以下配置块(注意根据你的类库实际位置调整相对路径):

    <ItemGroup>
      <MauiAsset Include="..\MyLibrary\appsettings.json" Link="Resources\raw\appsettings.json">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      </MauiAsset>
    </ItemGroup>
    

    该配置会确保链接的appsettings.json被复制到输出目录,且始终保留最新版本。

  • 确认文件读取逻辑的正确性
    建议使用MAUI官方推荐的资源加载方法读取包内文件,避免路径适配问题:

    using var stream = await FileSystem.OpenAppPackageFileAsync("Resources/raw/appsettings.json");
    using var reader = new StreamReader(stream);
    var configContent = await reader.ReadToEndAsync();
    
  • 清理并重新生成解决方案
    删除MAUI项目的bin和obj目录,然后重新生成整个解决方案,清除可能存在的编译缓存。

内容的提问来源于stack exchange,提问作者D G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:19:57