嗨,伙计们,
我正在使用下面的代码片段加载mapx文件到CIMMapDocument对象,
在一些文档中,我得到了错误消息“值对于Int32来说太大或太小”。
我还添加了详细的stacktrace。你们能建议一下怎么解决吗?@Wolf
Prosdk版本是2.7,
string mapxJson = File.ReadAllText(mapxFilePath);bool success = await QueuedTask.Run(() => {try {cimapdocument mapDoc = cimapdocument . fromjson (mapxJson);如果(mapDoc。= null && mapDoc.LayerDefinitions.Length > 0) {this. LayerDefinitions. lengthSourceDocument = mapDoc;返回true;}}catch(异常前){System.Diagnostics.Trace.WriteLine(异常前)消息+ "\r\n" + ex.StackTrace);返回错误;}返回false;});
加是
在System.Convert。ToInt32 (Int64价值)
在System.Convert。ChangeType(对象值,类型conversionType, IFormatProvider提供程序)
在Newtonsoft.Json.Linq.Extensions。转换(T, U) (T令牌)
在ArcGIS.Core.CIM.JsonUtils。GetObjectForPropertySetOrArray(JToken, JsonDeserializationSettings设置)
在ArcGIS.Core.CIM.JsonUtils。TrySetDictionaryMember(JObject JObject, String memberName, Dictionary ' 2& dictionaryMember, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.CIMBasicFeatureTemplate。反序列化(JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JsonUtils。反序列化ecimobject (JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JsonUtils。DeserializeCIMObject[T](JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JObjectExtensions。TryGetCIMObjectArrayMember[T](JObject JObject, String memberName, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.CIMBasicFeatureLayer。反序列化(JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.CIMGeoFeatureLayerBase。反序列化(JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JsonUtils。反序列化ecimobject (JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JsonUtils。DeserializeCIMObject[T](JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JObjectExtensions。TryGetCIMObjectArrayMember[T](JObject JObject, String memberName, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.CIMMapDocument。反序列化(JObject JObject, JsonDeserializationSettings settings)
在ArcGIS.Core.CIM.JsonUtils。FromJson[T](String json, JsonDeserializationSettings设置)
在tools . ui . dockpanesetdatasourceviewmodel. <>c__DisplayClass168_0.