====== Remote .NET Debugger Visual Studio Extension ====== Although it is possible to [[https://learn.microsoft.com/en-us/dotnet/iot/debugging?tabs=self-contained&pivots=visualstudio|manually deploy, launch, and attach a debugger]] to a .NET 5+ application running on a remote device like the [[..:..:index|ComfilePi]] and [[jpc:index|jPC]], Visual Studio does not have a built-in way to perform all three functions in a single motion. To fill this void in Visual Studio, we have developed a Remote .NET Debugger Visual Studio extension that enables one to deploy, launch, and debug .NET applications on a remote device, all from within Visual Studio, at the click of a button, or an "F5" keystroke. ===== Download and Install ===== ^ ^ Date ^ Release Notes ^ | {{ https://downloads.comfiletech.com/ComfilePi/remote_dotnet_debugger/comfiletech.remotedotnetdebugger_v1.6.vsix|ComfileTech.RemoteDotnetDebugger_v1.6.vsix}} | 2026-06-12 | [[.:release_notes:index|Release Notes]] | | {{ https://downloads.comfiletech.com/ComfilePi/remote_dotnet_debugger/comfiletech.remotedotnetdebugger_v1.5.vsix|ComfileTech.RemoteDotnetDebugger_v1.5.vsix}} | 2026-01-28 | [[.:release_notes:index|Release Notes]] | To install, simply close all instances of Visual Studio, and double-click on the .vsix file. ===== Requirements ===== ==== Development PC ==== * Windows 10 or later, 64-bit * Visual Studio 2022 or 2026 ==== Target Device ==== * A running SSH daemon * Installed .NET runtime or SDK * Installed instance of ''vsdbg''. See [[#installing_vsdbg|Installing vsdbg]] for instructions. ==== SSH Authentication ==== The extension requires an SSH server to be running on the target Linux device. It supports both password and passwordless (key-based) authentication. Passwords can be stored in the Windows credential manager or entered on demand. ===== Installing vsdbg ===== The remote device must have the ''vsdbg'' utility installed. ==== Trixie and Bookworm ==== If using our ComfilePi Trixie and Bookworm OS, ''vsdbg'' is installed by default to ///opt/Microsoft/vsdbg/vsdbg//. If it is not installed it can be installed by running ''sudo apt install cpi-vsdbg''. ==== Other OS Variants ==== Install vsdbg by following this procedure: - Run ''wget https://aka.ms/getvsdbgsh'' to download the installation script. - Run ''chmod +x getvsdbgsh'' to make the script executable. - Run ''sudo ./getvsdbgsh -v latest -l /opt/Microsoft/vsdbg'' to install vsdbg. You can change the installation location to whatever you want, but you must remember the location when configuring the launch profile. ===== Configuration and Usage ===== After installing the extension and verifying SSH communication between the Windows development PC and the remote device all that's required is to add a new //.NET Remote Debugger// launch configuration profile to the project. For most use cases, only the "Remote Machine", "Remote User", and "Path to vsdbg" are needed. "Path to vsdbg" must be the path to the ''vsdbg'' executable, not the installation folder. So, for example, if you installed vsdbg to ''/opt/Microsoft/vsdbg'' you will need to enter ''/opt/Microsoft/vsdbg/vsdbg'' for the path to the executable. {{ :comfilepi:dotnet_core_development:remote_debugger:config_launch_profile.mp4?900x608 }} ===== Troubleshooting ===== If you encounter problems, please check the "Remote .NET Debugger" output window pane. {{ :comfilepi:dotnet_core_development:remote_debugger:remote_net_debugger_output.png }}