この質問はおなじみのように思われるかもしれませんが、私は答えを見つけることなく、ここやインターネット全体ですでに回答されている人々に取り組みました。
編集 現時点では、サービスリファレンスは再び正常に機能していますが、私はまだ長期的な解決策を探しています。
WCFWebサービスと通信するWindowsPhoneアプリケーションでの作業元のクラスが、プロジェクトリファレンスを介したクライアントとサービス。これは、サービスが再度公開されたり、クライアントがコンパイルされたりするたびにランダムに発生するようでした。これを想像できるように、かなりの数の「タイプを暗黙的に変換できない」エラーが発生します。ほとんどの場合、私はいくつかのオプションを試してみました。サービスリファレンスを削除して再度追加し、VSを再起動するなど、なんらかの不可解な魔法が発生することを期待して、遅かれ早かれそれが実行されました。しかし、これは私を満足させる方法でも、私が永遠に使いたい方法でもありません。特に昨日から今まで問題が再発して以来、不可解な魔法は起こらなかった。これが私がこれまでに試したことです:
- 異なるオプションと名前(すべてのアセンブリを共有する、指定したアセンブリを共有するなど)を使用してサービス参照を再度削除および追加する
- 管理者権限の有無にかかわらず、VSを何度か再起動します
- 問題の原因となっているクラス全体を共有アセンブリから削除して再度追加します(コンパイルと公開の間に)
- VSによって生成されたものとは異なるWCFTestClientの名前空間を見てください
- 異なるマシンでの上記のすべて
また、ここでこれや他の同様の質問に注意深く取り組みました。
たくさんのことを学びましたが、どれも問題自体を解決することができなかったでしょう。現在、SVCUtilを使用してプロキシクラスの生成に取り組んでいますが、WCF全体にまったく慣れていないため、これはまだ成功していません。よろしくお願いします
- 誰かが、「サービス参照の追加」オプションを使用してこれらの不要な部分クラスを生成する理由と、それを回避する方法を教えてくれました。
- プロキシクラスを生成してVSプロジェクトで再利用するためにSVCUtilツールを適切に使用する方法についての説明がありました。
- この「メタデータからのコード生成」全体を回避する方法がありました。つまり、両方の実装にアクセスできました。
私は本当にVS内でこの問題を解決したいと思っていますが、この問題が後で再び発生しない場合は、絶望が増すにつれて、私は多くの作業を試してみることをいとわないようになります。現在、私は2番目の可能な解決策に取り組んでいます。3番目を考慮して、私はこの記事を読んでいますが、それを試す前に、それが良い方法であるかどうかについてセカンドオピニオンをここに置きたいので、私の問題を解決し、トピックをカバーするより最近の記事を見てください。
テキストの壁で申し訳ありませんが、私はかなり長い間これに取り組んできました、そして少しの知識とたくさんの試練でたくさんの情報が来ます。