我正在使用NewtonSoft.Json尝试解析我从C#中的网站获取的Json响应。这是问题所在:
protected async override Task<bool> DoInBackground() {
var json = await GetJson();
return true;
}
GetJson()
负责从网站获取响应并返回一个Json响应的字符串。 DoInBackground()
是自定义AsyncTask
类的一部分,用于处理后台运行的任务。
上面的代码运行得非常好。如果我在函数内的第一行放置一个断点,它就会停在那里并允许我逐步检查下载的Json是否正确。
但是以下代码永远不会执行。一旦我从Newtonsoft.Json引用任何东西,函数就会停止执行。函数内部不会出现断点。
protected async override Task<bool> DoInBackground() {
var json = await GetJson();
dynamic jsonObject = JObject.Parse(json);
return true;
}
我做错了什么?
编辑:我应该提到DoInBackground()
函数在不使用Newtonsoft.Json的其他类中运行完美。这是我需要从服务器获取Json的第一个类。
编辑:为了测试代码是否在没有命中断点的情况下执行,我尝试了以下但没有输出。
protected async override Task<bool> DoInBackground() {
var json = await GetJson();
Debug.WriteLine("before");
dynamic jsonObject = JObject.Parse(json);
Debug.WriteLine("after");
return true;
}
答案 0 :(得分:4)
在您的情况下,您可以简单地清除解决方案并重建它。应用程序运行正常,因为您的代码没有问题。
只是Visual Studio正在使用已经构建的应用程序,然后才能在代码中进行最终修改。
在您的情况下,可能现有的构建副本没有添加Newtonsoft.Json。