av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:127日期:2022-06-09 09:36:25
目錄
  • 引言:
  • 資源文件夾
  • 附:使用內(nèi)置資源方式
  • 項(xiàng)目地址

引言:

按core傳統(tǒng)方式添加 AddJsonFile("appsettings.json") 在windows平臺(tái)和ssr工作正常,但是在 ios 和 android 無(wú)法用這種方式,因?yàn)橘Y源生成方式不一樣. 使用內(nèi)置資源方式不夠靈活而且 ios 平臺(tái)會(huì)提示不能復(fù)制 json 文件到目錄,于是進(jìn)行了幾天的研究,終于能正確使用了.

資源文件夾

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

復(fù)制一份txt文件按操作復(fù)現(xiàn)成功.

  • 直接丟入 appsettings.json 編譯到ios平臺(tái)提示錯(cuò)誤不能復(fù)制 json 文件到目錄, 經(jīng)google,找到方案,需要項(xiàng)目文件屬性中 Remove 文件 <Content Remove="appsettings.json" />

相關(guān)錯(cuò)誤提示

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 和 不復(fù)制
  • 需要在項(xiàng)目屬性中 Remove 文件

項(xiàng)目文件

<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);

附:使用內(nèi)置資源方式

需要在項(xiàng)目屬性中設(shè)置生成操作為嵌入資源

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

代碼 BlazorMaui 為工程名

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

項(xiàng)目地址

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

標(biāo)簽: ASP.NET
主站蜘蛛池模板: 国产精品美女久久久免费 | 精品自拍视频在线观看 | 久草新在线 | 北条麻妃视频在线观看 | 亚洲一区二区三区免费在线观看 | 精品欧美一区二区精品久久 | 国产一区亚洲 | 午夜视频在线免费观看 | 九九九视频在线观看 | 免费看一级毛片 | 亚洲色在线视频 | 免费观看一级特黄欧美大片 | 久久逼逼 | 天天成人综合网 | 欧美一级淫片免费视频黄 | 国产91av视频 | 国产乱码精品1区2区3区 | 欧美精品一区二区三区在线四季 | 91精品久久久久久久久久入口 | 国产精品一区二区三区久久久 | 欧美区日韩区 | 亚洲色图综合 | 亚洲一区二区三区四区视频 | 久久这里只有精品首页 | 国产毛片毛片 | 人人干人人超 | 亚洲精品中文字幕 | 亚洲一区二区免费视频 | 色婷婷av久久久久久久 | 成人av网站在线观看 | 久久成人一区 | 欧美精品一二区 | 久久一区视频 | 欧美片网站免费 | 国产精品视频一区二区三区四区国 | 毛片入口 | 大乳boobs巨大吃奶挤奶 | 精品一区二区三区视频在线观看 | 久久男人 | 欧美日韩亚洲三区 | 性生活毛片 |