Xamarin.Forms json 文件流读取器 Null 异常错误

Posted

技术标签:

【中文标题】Xamarin.Forms json 文件流读取器 Null 异常错误【英文标题】:Xamarin.Forms json file stream reader NullException error 【发布时间】:2020-07-13 15:40:55 【问题描述】:

System.ArgumentNullException: '值不能为空。 参数名称:流'

这是错误。一段时间以来一直在研究一些信息,但找不到答案。我从 GitHub 复制了代码和 json 文件。

代码:

void AddMapStyle()
        
            var assembly = typeof(PinMap).GetTypeInfo().Assembly;
            var stream = assembly.GetManifestResourceStream($"PcgDelivery.MapStyle.json");
            string styleFile;
            using (var reader = new System.IO.StreamReader(stream))
            
                styleFile = reader.ReadToEnd();
            

            map.MapStyle = MapStyle.FromJson(styleFile);
        

代码有问题还是什么? Json 文件放置正确。我也尝试了一些不同的方法来读取 json 文件,但是你可以看到没有结果。

【问题讨论】:

stream 为空,这意味着GetManifestResourceStream 肯定失败了。 我该怎么办? 很可能您的文件不在正确的位置,或者您用作参数的名称不正确。根据您发布的信息,我无法判断 【参考方案1】:

如果确保您拥有的资源是嵌入式资源,请确保在 GetManifestResourceStream 中引发您的异常,请参阅链接了解更多信息。

https://adrianmejia.com/cs-getmanifestresourcestream-gotcha/

【讨论】:

以上是关于Xamarin.Forms json 文件流读取器 Null 异常错误的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Forms 使用 httpclient 下载 json 文件:ReadAsStringAsync 还是 DownloadFileAsync?

在 Xamarin.Forms 中获取图像或 ImageSource 的字节 [] / 流?

如何通过绝对路径从 iPhone 上的视频文件中读取流

无法反序列化当前 JSON 对象 xamarin.forms

Xamarin.Forms JSON 对象到 Listview

无法反序列化当前 JSON 对象,xamarin.forms 中的错误