相关文章推荐
知识渊博的豆芽  ·  Python: PS ...·  1 年前    · 
爱看球的蟠桃  ·  How do I create an ...·  1 年前    · 

【问题描述】

用 UiPath (2019.3.0 Community Edition) 编写了一个非常简单的Tool,但是运行的时候出现了异常,下图是 Designer panel 的 workflow 和 异常截图

以下是详细的报错信息:

19.3.0+Branch.master.Sha.5fdb43627d7d3c011018bb545ddf9470210d44a9
Cannot create and populate list type System.Collections.Generic.IReadOnlyCollection`1[System.String]. Path 'ReferencedAssemblies.$values', line 1, position 373.
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Cannot create and populate list type System.Collections.Generic.IReadOnlyCollection`1[System.String]. Path 'ReferencedAssemblies.$values', line 1, position 373. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
Newtonsoft.Json.JsonSerializationException: Cannot create and populate list type System.Collections.Generic.IReadOnlyCollection`1[System.String]. Path 'ReferencedAssemblies.$values', line 1, position 373.
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewList(JsonReader reader, JsonArrayContract contract, Boolean& createdFromNonDefaultCreator)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadMetadataProperties(JsonReader reader, Type& objectType, JsonContract& contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue, Object& newValue, String& id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObje...).
问题关键点:
Newtonsoft.Json.JsonSerializationException: Cannot create and populate list type System

【解决方法】

Newtonsoft.Json 不兼容版本被加载到了 Global Assembly Cache(GAC)里边。

第一步,在C盘中搜索 Newtonsoft.Json.dll 

第二步,右键打开该文件所在文件夹 -  Open Location

第三步,往上两级,将整个 Newtonsoft.Json 文件夹 剪切到另外别的地方保存

第四步,重新安装 UiPath,再次运行就没有报错了