I'm trying to remote debug an IIS-hosted WCF service in a net48 WebForms app that's consumed by a net48 WinForms app, using Visual Studio 18. (Upgrading either of these is not an option.)
The problem is that execution never steps into the service code. The remote symbols aren't being loaded locally, as is evidenced in the Debug/Modules window.
I've ensured that all of these are true:
The website is published under
debugconfiguration, with 'Delete existing files' enabledThe site's
.pdbfile is present in/binon the remote machineBoth the site and my local machine are x64
Just My Codeis disabled in OptionsEnable property evaluation and other implicit function callsis disabled in OptionsThe Windows domain account I'm using is in the Administrators group on the remote machine
A firewall exception exists for the remote debugger (I can attach to the IIS process for the website from the local machine)
I've set a breakpoint in the service code where execution should pause
I'm attaching to the IIS process with one VS instance and running the client app with another. The service breakpoint is set in both instances.
When I set a breakpoint in the client on the service call and begin stepping, execution steps into the System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke() method in the System.ServiceModel assembly, and from there follows a tortured path of a spaghetti-mess of Microsoft code. Its internal Invoke function is called.

The call ultimately succeeds, and the expected value is returned, but since the symbols aren't loaded execution doesn't pause at the breakpoint.
I've followed the discussions and advice in these Q&As and pages, and I've tried the various suggestions, but I'm still coming up empty:
https://learn.microsoft.com/en-us/previous-versions/zc57803s(v=vs.100)
https://mydevtalks.blogspot.com/2016/07/remote-debugging-wcf-service.html
How do I get the remote symbols to load locally?