我已将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了吗?
答案 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版本吗?