Removal of WCF APIs with a configurationName parameter

The WCF APIs that accept either a configurationName parameter or an endpointConfigurationName parameter have been removed in WCF 8. These APIs were previously used in .NET Framework to load client configuration parameters such as the Binding configuration and the EndpointAddress details.

Version introduced

WCF Client 8.0 GA

Previous behavior

The removed APIs were previously suppressed from IntelliSense suggestions, however, projects that used them compiled successfully. Using any of the removed APIs resulted in a PlatformNotSupportedException at run time.

New behavior

The affected APIs no longer exist. If you upgrade to WCF 8 and recompile your project, it will fail.

Type of breaking change

This change can affect source compatibility.

Reason for change

The affected APIs were never implemented on .NET, and any calls to these APIs previously resulted in a run-time exception. Thus the decision was made to remove them completely.

Remove any usage of the affected APIs.

If you're using a WCF client generated by the svcutil utility from the .NET Framework SDK, the generated client will have constructors that call base class constructors that have been removed. The base class will be either ClientBase<TChannel> or DuplexClientBase<TChannel>. The generated constructors were unusable on .NET as they resulted in a PlatformNotSupportedException being thrown.

  • If you're multi-targeting .NET Framework and .NET and are still using these generated constructors on .NET Framework, you'll need to conditionally compile their usage.
  • If you're not using these constructors, you can delete them from the generated code. Alternatively, consider regenerating the client using dotnet-svcutil.

Affected APIs