の「コンストラクタを見つけることができません」、そしてそれは私が半年前にそれを持っていなかっ考えると、かなり新しい問題です。私はXamarinでアプリを作って半年前、3店舗(App Store、Google Play、Microsoft Store)でリリースしました。JsonSerializationException私は私のコードで、この非常に奇妙な問題を抱えているXamarin.Android
昨日ユーザーがAndroidアプリに問題があることを報告し、私が固定され、再コンパイルすることを、私は今Json.NET
で新しいエラーが発生していました後に例外が
Newtonsoft.Json.JsonSerializationException: Unable to find a constructor to use for type Rowlog.Common.Dtos.CompressedTripData. A class should either have a default constructor, one constructor with arguments or a constructor marked with the JsonConstructor attribute. Path 'tripCoordinates', line 1, position 19.
ですそして、あなたが尋ねる前に、はいRowlog.Common.Dtos.CompressedTripDataは、実際にはパラメータのないコンストラクタを持っています(まったく同じものはありません)。
私が言ったように、これは、Androidデバイス上のサーバーからCompressedTripDataオブジェクトをロードするときです。 iOSとWindows Phoneでまったく同じオブジェクトを読み込んでも問題はありません。 私は、Json.NETやXamarin.Androidの最近の変更がこれを引き起こしていると推測しています(他のアプリはまだ約半年前からJson.NETライブラリを使用しています。以来、それへの更新)
は誰にも同様の問題が発生し、そうであれば、どのようにあなたがそれを固定していたのされていますか?
うん、それが問題でした。ありがとう、偉大な先生、あなたは本当に命の恩人です! – Falgantil
ありがとうございます - リリースビルドでこのエラーが発生しましたが、デバッグビルドではありませんでした。これらのリンカオプションの効果は明らかではないので、私は時間を大幅に節約できました(そして、私はJSON.NETにデシリアライゼーションをもっと手伝っていました)。私はこの設定が、AndroidアプリパッケージにリンクされたDLLを別のライブラリパッケージと比較して判断することだったという印象を受けていました... –