引言:按core傳統方式添加 AddJsonFile("appsettings.json") 在windows平臺和ssr工作正常,但是在 ios 和 android 無法用這種方式,因為資源生成方式不一樣. 使用內置資源方式不夠靈活而且 ios 平臺會提示不能復制 json 文件到目錄,于是進行了幾天的研究,終于能正確使用了.

文章插圖
資源文件夾
- 官方工程
Resources\Raw\文件夾AboutAssets.txt文件說明
- 直接丟入 appsettings.json 編譯到ios平臺提示錯誤不能復制 json 文件到目錄, 經google,找到方案,需要項目文件屬性中 Remove 文件
<Content Remove="appsettings.json" />
The path 'XXXXXXX\appsettings.json' would result in a file outside of the app bundle and cannot be used.最終方案:
- appsettings.json文件直接放工程根目錄
- 文件屬性生成操作為 MauiAsset 和 不復制
- 需要在項目屬性中 Remove 文件

文章插圖
項目文件
<ItemGroup> <Content Remove="appsettings.json" /> </ItemGroup> <ItemGroup> <MauiAsset Include="appsettings.json"> <CopyToOutputDirectory>Never</CopyToOutputDirectory> </MauiAsset> </ItemGroup>讀取配置文件代碼
async static Task<Stream> LoadMauiAsset() { try { using var stream = await FileSystem.OpenAppPackageFileAsync("appsettings.json"); using var reader = new StreamReader(stream); var contents = reader.ReadToEnd(); Console.WriteLine("OpenAppPackageFileAsync => " + contents); return stream; } catch (Exception e) { Console.WriteLine("OpenAppPackageFileAsync Exception => " + e.Message); } return null; }
經驗總結擴展閱讀
- 如何把Java代碼玩出花?JVM Sandbox入門教程與原理淺談
- 如何理解Java中眼花繚亂的各種并發鎖?
- 生蠔熱量高嗎
- 2023年屬龍人農歷十月婚嫁如何 哪天結婚吉祥
- 黃精泡酒配方
- 新qq如何快速升級qq怎么快速升級(在qq怎么快速升級等級)
- 英雄聯盟怎么玩好(新人如何玩好英雄聯盟)
- 如何才能玩好英雄聯盟(怎么樣才能玩英雄聯盟最好)
- 生牛肉腌制不能超過多久
- 2023測繪類專業包括哪些 就業前景如何
