Erro ao adicionar referência de serviço: o tipo é um contrato de dados de coleta recursiva que não é suportado

Eu tentei adicionar uma referência de serviço para um serviço WCF que reside na mesma solução de um projeto ASP.NET MVC 4, mas falhou. Eu recebi um erro dizendo:

Erro de ferramenta personalizada: falha ao gerar código para a referência de serviço 'XXX'. Por favor, verifique outras mensagens de erro e aviso para mais detalhes. O aviso de raiz é:

Aviso 9 Aviso de ferramenta personalizada: Não é possível importar wsdl: portType Detalhes: Foi lançada uma exceção durante a execução de uma extensão de importação WSDL: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Erro: O tipo 'Newtonsoft.Json.Linq.JToken' é um contrato de dados de coleta recursiva que não é suportado. Considere modificar a definição da coleção 'Newtonsoft.Json.Linq.JToken' para remover referências a si mesma. XPath para erro Fonte: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IXXX '] C: \ Projects ... \ Reference.svcmap 1 1 pqrt.web

Se eu removesse os contratos de dados do contrato de serviço, funcionaria. Eu também tentei adicionar a referência de serviço a outros projetos como um projeto de biblioteca ou até mesmo um projeto ASP.NET MVC 3, tudo funcionou. Eu queria saber se isso foi um problema com a ASP.NET MVC 4? Eu estava usando o VS 2012 RC.

Uma solução que posso pensar é adicionar a referência de serviço a um projeto de biblioteca e, em seguida, chamar o projeto de biblioteca da ASP.NET MVC 4, mas eu odeio fazer isso, pois é uma etapa extra. Alguma sugestão?

questionAnswers(4)

yourAnswerToTheQuestion