When you try to debug remote server (“Default” transport) you may bump into this error:
“Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named “xxxxx”.
The requested name is valid, but no data of the requested type was found
There is no server by the specified name running on the remote computer.”
This occurs because VS debugger tries to communicate with the remote target via Named Pipes. This means it take the provided qualifier (“username@hostname”) and tries to open a pipe transport by using the given host name (EXACTLY) and will try to authenticated using the given user name and the user’s password (the one that runs VS) .
If one of those true, connection will fail:
- Target is in a different domain (no dns resolving for the given hostname)
- Debugging user (the one that runs VS) does not exists on remote server (or has different password)
- User on remote target does not have enough permissions
- Make sure firewall is not blocking your request
- Make sure the installed version of Visual Studio Remote Debugging Monitor is supported by the running Visual Sutdio
- Create local user on remote target, with the exact user name and password as the debugging user (that runs VS process)
- If dns resolving is unavailable (source and target on different domains) open this file
and add a new line at the bottom:
“xxx.xxx.xxx.xxx TargetHostName” (without quotes)
This will map the target host name with an IP.
This will enable VS to create a new Named Pipe targeting the correct target with correct user and hostname.
Please leave a comment if anything is unclear.