重複の可能性:
アセンブリのバージョン番号なしで wcf behaviorExtension クラス タイプを指定するにはどうすればよいですか?
IIS7 でホストされている Web アプリケーションには、プロジェクト Y を参照するプロジェクト X があります (VS2010 のプロジェクト参照)。バージョン番号を指定せずに、X の web.config に Y のタイプの behaviorExtensions を追加しようとしています。
System.ServiceModel.Extensions の下に behaviorExtension を追加しています。
<behaviorExtensions>
<add name="serviceKeyBehavior" type="MyNS.ServiceSupport.ServiceKeyBehaviorExtensionElement, Analyst.API"/>
<add name="userNameClientCredentials" type="MyNS.ServiceSupport.UserNameClientCredentialsElement, Analyst.API" />
</behaviorExtensions>
たとえば、指定せずに機能させることができませんでした
Version=3.2.1.0, Culture=neutral, PublicKeyToken=null
type 属性の最後に。
通常、上記のバージョン情報を省略するだけで問題なく動作します。
私が変われば
type="MyNS.ServiceSupport.ServiceKeyBehaviorExtensionElement, Analyst.API"
に
type="MyNS.ServiceSupport.ServiceKeyBehaviorExtensionElement, Analyst.API, Version=3.2.1.0, Culture=neutral, PublicKeyToken=null"
(3.2.1.0 == 現在の DLL バージョン)、動作します。
それ以外の場合は、型が見つからないと主張します。
system.serviceModel/behaviors の構成セクション ハンドラーの作成中にエラーが発生しました: 拡張要素 'serviceKeyBehavior' をこの要素に追加できません。拡張機能が、system.serviceModel/extensions/behaviorExtensions の拡張コレクションに登録されていることを確認します。パラメーター名: 要素 (C:\inetpub\wwwroot\xyz\web.config 155 行目) 詳細については、イベント ログ (ID: 1265) を確認してください。
何かご意見は?