亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

在 .NET MAUI 中加載 json 文件的方法

瀏覽:100日期:2022-06-09 09:36:25
目錄
  • 引言:
  • 資源文件夾
  • 附:使用內置資源方式
  • 項目地址

引言:

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

資源文件夾

  • 官方工程 Resources\Raw\文件夾 AboutAssets.txt 文件說明
您希望與應用程序一起部署的任何原始資產都可以放置在此目錄(和子目錄)。 將資產部署到您的應用程序, 由 `.csproj` 中的以下 `MauiAsset` 構建操作自動處理。     <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />這些文件將與您的包一起部署,并且可以使用 Essentials 訪問:    async Task LoadMauiAsset()    {using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");using var reader = new StreamReader(stream);var contents = reader.ReadToEnd();    }

復制一份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.

The path '..\..\..\..\..\..\..\Repos\BlazorMaui\BlazorMaui\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;}

附加到 builder.Configuration

var stream = LoadMauiAsset().Result; builder.Configuration.AddJsonStream(stream);

附:使用內置資源方式

需要在項目屬性中設置生成操作為嵌入資源

<ItemGroup>  <EmbeddedResource Include="appsettings.json" /></ItemGroup>

代碼 BlazorMaui 為工程名

var a = Assembly.GetExecutingAssembly();using var stream = a.GetManifestResourceStream("BlazorMaui.appsettings.json");builder.Configuration.AddJsonStream(stream);

項目地址

到此這篇關于如何在 .NET MAUI 中加載 json 文件?的文章就介紹到這了,更多相關.NET MAUI 加載 json 文件內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: ASP.NET
主站蜘蛛池模板: 欧美一欧美一级毛片 | 日本亚洲精品久久 | 六月丁香啪啪 | 成人做爰全过程免费看网站 | 国产精品揄拍一区二区 | 黄色一级短视频 | 亚洲精品日韩专区在线观看 | 国内欧美一区二区三区 | 国产xxxx做受欧美88xx00tube | 国产精品喷水在线观看 | 久久免费视频2 | 国产欧美日韩视频在线观看一区二区 | 久久亚洲欧美日本精品品 | 欧美中文综合在线视频 | a级毛片高清免费视频 | 蜜臀免费视频 | 亚洲丝袜在线播放 | 国产区香蕉精品系列在线观看不卡 | 在线观看国产三级 | 精品国产午夜久久久久九九 | 中国女人一级片 | 欧美不卡精品中文字幕日韩 | 国产精品福利在线观看 | 成人午夜看片 | 国产高清精品毛片基地 | 日韩免费一级毛片欧美一级日韩片 | 123456成年免费视频 | 色视频亚洲 | 中文字幕日韩一区 | 国产免费人做爰午夜视频 | 黄色网址免费大全 | 国产精品成人观看视频网站 | 免费人成网站在线播放 | 伊人久久久久久久久久 | 天天鲁天天爱天天鲁天天 | 久久99国产精品久久99 | 看真人一一级毛片 | 99国产精品九九视频免费看 | 国产成人久久精品一区二区三区 | 欧美成人免费毛片 | 色综合久久九月婷婷色综合 |