我尝试将服务引用添加到WCF服务,该服务驻留在ASP.NET MVC 4项目的同一解决方案中但失败了.我收到一个错误说:
自定义工具错误:无法为服务引用"XXX"生成代码.有关详细信息,请查看其他错误和警告消息.根警告是:
警告9自定义工具警告:无法导入wsdl:portType详细信息:运行WSDL导入扩展时抛出异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter错误:类型'Newtonsoft.Json.Linq.JToken'是递归收集数据合同,不受支持.考虑修改集合'Newtonsoft.Json.Linq.JToken'的定义以删除对它自己的引用.XPath到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXXX'] C:\ Projects ...\Reference.svcmap 1 1 pqrt.web
如果我从服务合同中删除了数据合同,那就有效了.我还尝试将服务引用添加到其他项目,如库项目甚至ASP.NET MVC 3项目,这一切都有效.我想知道这是否是ASP.NET MVC 4的一个问题?我正在使用VS 2012 RC.
我能想到的一个解决方法是将服务引用添加到库项目,然后从ASP.NET MVC 4调用库项目,但我讨厌这样做,因为这是一个额外的步骤.有什么建议?