VS開発サーバーで正常に機能するWCFサービスがありますが、プロジェクト設定に移動し、代わりにローカルIIS Webサーバーを使用するようにWebタブサーバーを変更すると、BadImageFormatExceptionが発生します。これは通常、32ビットアプリが64ビットdllを参照するときに発生することを知っています。私のアセンブリはすべてAnyCPU用に構築されています。
ここでどのような情報が役立つかわかりませんので、コメントを投稿してください。必要に応じて質問を編集します。
手始めに、私はAutofac WCF統合を使用していると言います(これも、IISではなくVS Devサーバーで機能します)。また、IIS設定を確認したことも追加する必要があります。.NET4統合パイプラインに設定されているDefaultAppPool用に構成されています。匿名認証が有効、Windowsが無効。
これが私の設定ファイルのサンプルです。
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<bindings>
<basicHttpBinding>
<binding name="Binding_basicHttp">
<readerQuotas maxDepth="1000000000" maxStringContentLength="1000000000" maxArrayLength="1000000000" maxBytesPerRead="1000000000" maxNameTableCharCount="1000000000"/>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehavior_MetaAndDebug" name="Service1">
<endpoint binding="basicHttpBinding" name="Service1Endpoint_basicHttp" contract="IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="/mex" binding="mexHttpBinding" bindingConfiguration="" name="Service1Endpoint_mex" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost/Site/Service1/"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior_MetaAndDebug">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>