WCFテストクライアント

こんにちは、こだかです。

今回は、ちょっとした注意点をお話します。

Azure Service Platformが発表になってから、4か月ほどが経とうとしています。
この中には、OSであるWindows Azureや、開発基盤であるビルディングブロックサービスがあり、その中に.NET Services というものがあります。
これは、Azureでワークフローやサービスバスを構築したり、認証系のサービスを賄ってくれるものなのですが、このSDK(下記)をインストールした場合、

Microsoft .NET Services SDK (Dec 2008 CTP)https://www.microsoft.com/downloads/details.aspx?FamilyID=83e1e30f-bd9a-4284-80a6-388ba2e768fd&DisplayLang=en

WCFテストクライアントの実行で、下記のようなエラーが発生するようになります。
(クライアント構成のコントラクト'IMetadataExchange'がサービスコントラクトの名前と一致しません。)

image

それも、単に下記のように、WCFサービスライブラリのテンプレートを選択した直後のプロジェクトでも発生します。

image

色々調べましたが、どうやら原因は、上記SDKがmachine.configを書き換えているからのようです。
これを修正するには、
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
に対して、以下の<endpoint>タグの記述を削除してください。image
(この部分です。<endpoint address="" binding="netTcpRelayBinding" bindingConfiguration="metadataExchangeRelayBinding" contract="IMetadataExchange" name="sb" />)

ちなみに、BiztalkのSDKを入れても同じ現象が発生するようです。
また、Azure Services Management Tools(下記)
https://code.msdn.microsoft.com/AzureManagementTools
をインストールするためには、Microsoft .NET Services SDK (Dec 2008 CTP)が必要になりますので、これも注意する方がよさそうです。

松崎師匠、ご指導ありがとうございました。

こだかたろう