7

以下を含む VS2010 (RTM) ソリューションがあります。

WCF サービス プロジェクト
コンソール WCF クライアント プロジェクト
DataContract とメンバーの
クラス プロジェクト いくつかの単純なクラスのクラス プロジェクト

コンソール クライアント プロジェクトにサービス参照を正常に追加し、クライアントを実行しました。その後、長い開発サイクルを繰り返してサービスを変更し、コンソール サービス リファレンスを更新しました。次に、プロジェクトの名前空間とアセンブリ名、および参照と app.config を使用して .cs を変更しました。もちろん、ビルドされないためにいくつかのことを見逃していたので、最終的にプロジェクト参照とサービス参照を削除し、クリーンアップして正常にビルドしました。

次に、サービス参照を再度追加しようとしましたが、それは検出されましたが、OK 時に「オブジェクト参照がオブジェクトのインスタンスに設定されていません」がスローされました。以下の回答を修正してください...

4

7 に答える 7

6

この問題は、プロジェクトにサービス参照を追加しようとしたが、同じプロジェクトに、アンロードした別のプロジェクトへの既存のサービス参照がある場合に発生します。たとえば、次の手順を使用して再現できます。

  1. 2つの別々のWCFサービスプロジェクト、Service1とService2を作成します
  2. クライアントプロジェクトを作成し、Service1プロジェクトのサービスへのサービス参照を追加します
  3. Service1プロジェクトをアンロードします
  4. クライアントプロジェクトで、Service2プロジェクトのサービスへの参照を追加してみてください-上記のエラーが発生します

サービスは独立しているため、これは発生しないはずですが、修正は、Service2への参照を追加するときにService1プロジェクトをリロードすることです。

于 2012-04-13T02:31:59.467 に答える
6

他の場所で見つけられなかったので、自分の修正を投稿します。

Stackoverflow'ing/Google で検索してもうまくいかなかったので、最終的にソリューション ファイルをメモ帳で開いたところ、コンソール プロジェクトを参照するエントリが WCF サービス プロジェクトに依存していることがわかりました。

その ProjectSection を削除した後、サービス参照を追加して業務を再開することができました。

問題を再現しようとすると、サービス参照をプロジェクトに追加すると、サービス プロジェクトの依存関係が追加されますが、サービス参照を削除しても追加されません。名前空間を変更したことが、依存関係の参照が見つからない原因だったと思いますか?

于 2010-04-22T16:04:20.723 に答える
2

サービスとクライアントの間に既存のプロジェクト依存関係があります。Consumer Project を右クリック -> Project Dependencies; Consumer と Service の間の依存関係をオフにします。(これにより、コンシューマーから内部オブジェクトまたは参照が削除されます)

再試行: サービス参照を追加してください。

于 2012-06-20T18:44:57.403 に答える
1

この問題を抱えていて、上記のアプローチで助けられなかった人へ:UI部分にデータバインディングがあるかどうかを確認してください(私の場合、Silverlightクライアントのデータグリッドコントロールでした)ymmvまた、サービスクライアントがある場合は、バインディングこの形式では、おそらく _Completed メソッドの形式で提供される可能性があります。詳しく調べて、そこにあるはずのデータ/パラメーターが欠落していないかどうかを確認してください。h番目

于 2011-09-05T13:50:36.930 に答える
1

Silverlight SDK (Silverlight、Silverlight3 など) と Silverlight ツールのすべてのバージョンを [プログラムの追加と削除] からアンインストールします。Silverlight ツールを再インストールすると、問題が解決するはずです。

于 2012-10-31T20:45:48.023 に答える
0

サービス参照を削除して再度追加します。シンプルですが、私にとってはうまくいきました。

「オブジェクト参照」エラーの原因は、サービス参照エンドポイントの URL をローカルから開発サーバーに変更しただけです。今回を除いて、これまでにこの問題が発生したことはありません。

于 2013-05-10T20:51:43.990 に答える
0

vs17 での私の問題 (オブジェクト参照がオブジェクトのインスタンスに設定されていません):

そのため、vs2015 でプロジェクトの名前を変更しましたが、プロジェクトが存在するフォルダーの名前は変更されませんでした。vs2017 でプロジェクトを開いて WCF サービスを広告しようとすると、[OK] をクリックすると、オブジェクト ref が見つかりませんでした。

私の修正:

そのため、ソリューションからプロジェクト ファイルをアンロードし、プロジェクト ファイルと一致するようにプロジェクト フォルダーの名前を変更し、vs2017 のソリューションにプロジェクトをリロードしました。これで、「WCF サービスを追加」できるようになりました。

于 2018-01-04T15:09:18.307 に答える