2012-05-04 13 views
0

私のソリューションは、は自動的

  • A(WCFサービス)
  • B(WCFサービス)
  • のfoo(参考文献A)
  • バー(参照B以下のプロジェクトをcotains )

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

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

fooとbarのサービス参照を自動的に更新する方法(コマンドラインを優先して実行する)を見つけたいと思います。これを手動で行うより良い方法があるはずです。

提案?

編集:私はいくつか「あなたはそれを間違ってやっている」と予想しました。コメント。私がこれを行う必要があるのは、サービスに新しい機能を追加して契約を変更することが時々あるからです。しかしさらに大きな理由は、DVCS(水銀)を使用していることと、VS2008で動作しているブランチからVS2010を実行している別のブランチにマージしていることです。このようなマージはすべて、VS2010のサービス参照を壊してしまい、サービス参照を簡単に更新することができます。今私たちはこれを手で行う必要があります。それを自動的に行う方がはるかに良いでしょう。

答えて

2

this blog post(+ part 2)またはthis forum postまたはさらにthis SO postをご覧ください。利用可能な状態ではありませんので、提供されるソリューションは複雑で時間がかかりますが、それはあなたの状況に合わせて構成するのに時間がかかります。

+0

ブログの投稿はデッドリンクです – WhiskerBiscuit

+0

私はそれを投稿したとき、それは面白いです、それは働いた。このURLにアクセスしてみてください:http://blogs.microsoft.co.il/blogs/oshvartz/ – Styxxy

+0

@WhiskerBiscuit:URLを更新しました。もう一度作業する必要があります(ブログのパート2へのリンクも追加しました)。役職)。 – Styxxy

3

可能であれば、サービス参照をすべて削除する必要があります。単にサービスコントラクトDLLへのバイナリリファレンスを作成し、クライアント上でChannelFactoryを使用して、オンザフライでチャネルを作成します(例:here)。

サービス契約が変更された場合は、このアセンブリ参照のみを更新する必要があります。