0

私のソリューションには、次のプロジェクトが含まれています

  • A (wcf サービス)
  • B (wcf サービス)
  • foo (参照 A)
  • バー (参照 B)

A に変更を加えた場合、foo のサービス参照を更新する必要があります。

これを行う必要がある方法は、[デバッグ] | [デバッグ] に移動して、Visual Studio で A & B を手動で開始することです。Cassini がサービス (http://localhost:59445/A.svc) を開始するように新しいインスタンスを開始し、foo に移動してサービス参照を更新します。

foo と bar のサービス参照を自動的に更新する方法 (できればコマンド ライン駆動) を見つけたいと思います。これを手動で行うよりも、これを行うためのより良い方法が必要です。

提案?

編集:「あなたは間違っている!」と思っていました。コメント。これを行う必要があるのは、サービスに新しい機能を追加し、契約を変更することがあるからです。しかし、さらに大きな理由は、DVCS (mercurial) を使用していることと、さらに悪いことに、VS2008 で実行されているブランチから VS2010 を実行している別のブランチにマージしていることです。このようなマージのたびに、VS2010 サービス参照がかなり台無しになり、サービス参照の更新が非常に簡単になります。これを手動で行う必要があります。それを自動的に行う方がはるかに良いでしょう。

4

2 に答える 2

4

可能であれば、サービス参照を完全に廃止する必要があります。サービス コントラクト DLL へのバイナリ参照を作成し、クライアントで ChannelFactory を使用して、オンザフライでチャネルを作成するだけです (例はこちら)。

その後、サービス コントラクトが変更された場合は、このアセンブリ参照を更新するだけで済みます。

于 2012-05-04T14:43:01.563 に答える
2

You can look at this blog post (+ part 2) or this forum post or even this SO post. It isn't out of the box available, so the provided solutions might be kind of complex and time consuming to configure for your situation, but anyway, that's up to you of course.

于 2012-05-04T13:29:42.707 に答える