导入XBox Live服务后出现JSON.net错误

时间:2017-03-03 10:40:50

标签: unity3d json.net xbox-live

我已将XBox Live Unity asset package添加到我的项目中,并且我在Unity中收到此错误。它并没有奇怪地在Visual Studio中显示,但它阻止我运行我的应用程序。

error CS7069: Reference to type `System.ComponentModel.INotifyPropertyChanging' claims it is defined assembly `System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089', but it could not be found

错误引用的行如下

JObject response = JsonConvert.DeserializeObject( request.text ) as JObject;

请求是Unity WWW对象。 我在我的应用中使用了this asset package,但我已将其删除,因为看起来XBox Live已包含预编译的dll了吗?

2 个答案:

答案 0 :(得分:1)

所以看起来JObject就是问题所在。更改为JContainer可以解决问题而无需进行任何进一步的代码更改

答案 1 :(得分:1)

JObject类在Json.NET中定义为:

public partial class JObject : JContainer, IDictionary<string, JToken>, INotifyPropertyChanged

JContainer定义为:

public abstract partial class JContainer : JToken, IList<JToken>

当您使用JObject时,Unity希望能够找到它似乎无法找到的INotifyPropertyChanged实现。

我的第一个假设是.NET 2.0子集中不存在该类,但我已经验证(在Unity 5.5中)它可用。你能提供更多细节,让我知道你正在使用的Unity版本吗?