svcutil を使用して、wcf エンドポイントからサービス参照を生成しています。最近まですべて正常に機能していましたが、突然、すべてのエンドポイントに対して次のエラーが発生し始めました。
WS-Metadata Exchange または DISCO を使用して、'http://localhost.myservice.com/MyEndpoint.svc' からメタデータをダウンロードしようとしています。エラー: wsdl:binding をインポートできません 詳細: 指定されたキーがディクショナリに存在しませんでした。エラー ソースへの XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='wsMyEndpoint']
エラー: wsdl:port をインポートできません 詳細: wsdl:port が依存している wsdl:binding のインポート中にエラーが発生しました。wsdl:binding への XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:binding[@name='wsMyEndpoint'] エラー ソースへの XPath: //wsdl:definitions[@ targetNamespace='http://myservice.com/services/']/wsdl:service[@name='MyEndpoint']/wsdl:port[@name='wsMyEndpoint']
エラー: wsdl:binding をインポートできません 詳細: 指定されたキーがディクショナリに存在しませんでした。エラー ソースへの XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='netNamedMyEndpoint']
エラー: wsdl:port をインポートできません 詳細: wsdl:port が依存している wsdl:binding のインポート中にエラーが発生しました。wsdl:binding への XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:binding[@name='netNamedMyEndpoint'] エラー ソースへの XPath: //wsdl:definitions[@ targetNamespace='http://myservice.com/services/']/wsdl:service[@name='MyEndpoint']/wsdl:port[@name='netNamedMyEndpoint']
ファイルを生成しています... 警告: コードは生成されませんでした。クライアントを生成しようとした場合、メタデータ ドキュメントに有効なコントラクトまたはサービスが含まれていないか、すべてのコントラクト/サービスが /reference アセンブリに存在することが検出されたことが原因である可能性があります。すべてのメタデータ ドキュメントがツールに渡されたことを確認します。
サービス参照を生成するバッチ ファイルで svcutil を呼び出して、サービス参照を生成します。
別の開発者が行った変更である可能性があると思いますが、それは単なる推測です。ここで何が問題なのかを調査する方法を知っている人、または解決策に関する正しい方向性を教えてくれる人もいます。