Я попытался добавить ссылку на службу WCF, которая находится в том же решении из проекта ASP.NET MVC 4, но не удалась. Я получил сообщение об ошибке:
Ошибка пользовательского инструмента: не удалось создать код для ссылки на службу 'XXX'. Дополнительные сведения см. В других сообщениях об ошибках и предупреждениях. корневое предупреждение:
Предупреждение 9 Предупреждение о настраиваемом инструменте: невозможно импортировать wsdl: portType Detail: исключение было брошено при запуске расширения импорта WSDL: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Ошибка: Тип "Newtonsoft.Json.Linq.JToken" - это рекурсивная коллекция которые не поддерживаются. Рассмотрите возможность изменения определение коллекции 'Newtonsoft.Json.Linq.JToken' для удаления ссылки на себя. XPath to Error Источник: //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, но я не хочу этого делать, поскольку это дополнительный шаг. Любые предложения?