ASP.NET MVC 4プロジェクトの同じソリューションにあるWCFサービスへのサービス参照を追加しようとしましたが、失敗しました。次のようなエラーが発生しました:
カスタムツールエラー:サービス参照「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.NETMVC4の問題であるかどうか疑問に思いましたか?私はVS2012RCを使用していました。
考えられる回避策の1つは、ライブラリプロジェクトにサービス参照を追加してから、ASP.NET MVC 4からライブラリプロジェクトを呼び出すことですが、これは余分な手順であるため、これを行うのは嫌です。助言がありますか?