首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.IO.File -命名空间'File‘不存在

System.IO.File -命名空间'File‘不存在
EN

Stack Overflow用户
提问于 2017-08-01 11:31:07
回答 2查看 605关注 0票数 0

我试图将本地json文件加载到字符串中,以便将其解析/反序列化为对象。

然而,由于某些原因,尽管有所有示例和Xamarin支持文档表明我可以使用System.IO.File.ReadAllText(...),但我还是得到了以下错误:

c#错误:“文件”类型或命名空间名称找不到

我的代码看起来很简单,我无法通过加载文件,这似乎应该是如此简单!

代码语言:javascript
复制
string jsonInput = System.IO.File.ReadAllText("example.json", Encoding.UTF8);
Quiz temp = JsonConvert.DeserializeObject<Quiz>(jsonInput);

我的标题中也包括System.IO。

代码语言:javascript
复制
`using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel; //ObservableCollection
using Newtonsoft.Json;
using System.IO;
using System.Reflection;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;`

我也尝试过以下解决方案:

代码语言:javascript
复制
            var assembly = typeof(LoadResourceText).GetTypeInfo().Assembly;
            Stream stream = assembly.GetManifestResourceStream("example.json");
            string jsonInput = "";
            using (var reader = new System.IO.StreamReader(stream))
            {
                jsonInput = reader.ReadToEnd();
            }

但是,在这种情况下,没有找到'LoadResourceText',我也无法确定应该替换哪种类型。

如有任何帮助或建议,将不胜感激!

我在StackOverflow上的第一篇文章,希望我做得对.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-01 14:09:46

如果要将此文件用作本地资源,请确保该文件可用于每个设备,例如,在Android项目中,选择file/properties/advanced/build操作,并将其设置为embedded resource。有时代码很好,只是设备的文件“不存在”

票数 0
EN

Stack Overflow用户

发布于 2017-08-03 11:16:21

^也见上面的答复^

我自己解决了这个问题。

我发现我的答案隐藏在YkshLeo在Xamarin论坛上的一篇论坛文章中:

...make确保资源的构建操作设置为"Embedded Resource"

我真希望Xamarin能让他们的文档更彻底一点。也许这是我的.Net的虚荣心。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45436612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档