JSON.NET(NewtonSoft.dll)在更新我的wcf服务引用时更改了我的代理类

时间:2015-08-14 09:42:43

标签: c# .net json wpf wcf

我正在开发HealthCare项目。我被赋予了将JSON格式转换为HL7格式的任务。为了实现这一点,我将Newtonsoft.dll导入了我的项目。添加对我的项目的引用后,在更新WCF服务引用时,我发现由于添加了Newtonsoft引用,我的整个代理类已更改。

我的WPF应用程序中出现了200多个语法问题。大多数问题与数据类型转换有关,例如:

  

无法隐式转换类型' System.Xml.XmlElement'到' System.Xml.Linq.XElement'

     

无法隐式转换类型' string []'到' System.Collections.Generic.List'

如果我删除Newtonsoft DLL并再次更新WCF服务,一切都运行良好。

1 个答案:

答案 0 :(得分:1)

您的代码中某处存在类型名称冲突。 Newtonsoft库包含一个与源代码使用的另一种类型同名的类型。当您添加Newtonsoft库时,您的代码会混淆使用哪种类型。

您可以使用完全限定的类型名称(包括命名空间)来解决此问题。

e.g。如果两个库都包含一个名为XmlThingy的类:

变化

var myXmlThing = new XmlThingy();

var myXmlThing = new ALibrary.Xml.XmlThingy();