WCF – Could not find a base address that matches scheme net.tcp for the endpoint with binding NetTcpBinding

3 things to check,

1. Make sure you are using full IIS and not IIS Express – IIS Express doesn’t support the NetTcpBinding.

2. Make sure you have the Windows Communication Foundation Non-Http Activation Windows component installed – go to Control Panel. Select ‘Add Remove Windows Components’. At the top of the list you will see .NET Framework 3.5 (includes .NET 2.0 and 3.0)

Expand this out and tick Windows Communication Foundation Non-Http Activation.

Confusingly this also enables non-http activation for .NET 4.0 and 4.5.x applications.

If you are using 4.6, expand out .NET Framework 4.6 Adanced Services -> WCF Services and select TCP Activation.

3. Make sure you have enabled the net.tcp protocol in IIS. Open IIS Admin. Select the Website and click on Advanced Properties. Under ‘Enabled Protocols’, add net.tcp (so for http and net.tcp activation, you would have http,net.tcp)