Configuration binding extension ‘system.serviceModel/bindings/*’ could not be found error on upgrade to .Net 4.5 RTM


If you have a WCF service with netHttpBinding/basicHttpsBinding/udpBinding endpoint using the .net 4.5 RC bits and your service fails to activate with this error message on upgrading to .net 4.5 RTM bits, here is what you need to do.  

Configuration binding extension ‘system.serviceModel/bindings/netHttpBinding’ could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.

OR

Configuration binding extension ‘system.serviceModel/bindings/basicHttpsBinding’ could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.

OR

Configuration binding extension ‘system.serviceModel/bindings/udpBinding’ could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.

If its web hosted, add this setting <httpRuntime targetFramework=”4.5″ /> to your web.config to solve the issue.

<system.web>

    <compilation debug=true targetFramework=4.5 />

    <httpRuntime targetFramework=4.5/>

  </system.web>

 If your app is self hosted, make sure you compile your project with targetFramework v4.5.

netHttpBinding, basicHttpsBinding and udpBinding work only in binaries built with target framework v4.5. Adding a httpRuntime setting to web.config will make sure that the IIS application pool created for your app has a version v4.5.


Comments (8)

  1. Me says:

    This didn't help in my case…

  2. Praburaj Thiagarajan says:

    @Me, can you describe the issue you encounter.

  3. Mike says:

    I was having this exact same problem and this solved my problem perfectly. Thanks!

  4. Soumyadev Bhattacharyya says:

    Hi,

    Your post was very helpful. Thank you.

  5. Victor says:

    This worked for me also, thanks!

  6. Tom says:

    Thanks, this worked!

  7. Tom Wesson says:

    That is interesting — for some reason my web.config only had <httpRuntime/> so I adjusted it appropriately with the <httpRuntime targetFramework="4.5"/> and it's working now.  Someone else in a different post said that the app pool could be 4.0 and this would work (which is still true apparently), but your comment about httpRuntime seems to clarify this further?