在一个没有Prism库的项目中,我有这个代码来获取一个" Persoon"对象:
Dim ObjectCollectie As New ObservableCollection(Of Persoon)()
If MijnAPIResponse.IsSuccessStatusCode Then
Dim AntwoordVanAPI = Await MijnAPIResponse.Content.ReadAsStringAsync
ObjectCollectie = JsonConvert.DeserializeObject(Of ObservableCollection(Of Persoon))(AntwoordVanAPI)
此代码指的是用于获取数据的WebAPI,一切正常。
同样的声明在Prism ViewModel中不起作用。它完美无缺,直到ObjectCollectie尝试使用JsonConvert语句。 AntwoordVanAPI包含与之前相同的JSON字符串。
我得到的错误信息是:
__The API 'System.Collections.ObjectModel.ObservableCollection1[[Dossier365.BusinessModels.Persoon, Dossier365.BusinessModels, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5ff36822ea527de6]]..ctor(System.Collections.Generic.List1[Dossier365.BusinessModels.Persoon])' cannot be used on the current platform. See http://go.microsoft.com/fwlink/?LinkId=248273 for more information.__
这是指互联网上一个不存在的页面(我已经看过不止一些关于这个的投诉!)。要找到关于这个主题的最新内容并不容易,不能使用API和#34;。最新的帖子大约2岁。
因为代码没有改变,我怀疑是Prism库。但为什么?以及如何克服?我也在CodePlex Prism issuelist上发布了这个,但我得到的印象是只有少数读者在那里活跃。问题超过一周没有回应。我希望StackOverflow做得更好。
拜托,请,有人知道答案吗?
彼得
答案 0 :(得分:1)
经过几个小时的代码和其他一切的学习,我终于发现这个错误的原因在于JSON.Net版本6.0.4。回到JSON.Net版本6.0.3后,一切都再次完美。我在CodePlex的JSON项目中报告过这个。