Remotely deploy and debug your .NET C# apps via SSH to Linux using Visual Studio 2022.
Visual Studio's "attach to process via SSH" is cute, but it lacks deployment and automatic attaching. This project allows you to do just that on your Linux VM or Raspberry Pi over the network!
For more information and help, go to the official page.
Suess Labs consulting is sponsored by Xeno Innovations, Inc.
Overview
Now developers can build, deploy and debug projects on their remote Linux (Ubuntu, Raspberry PI, etc) devices! Customize your SSH connection to use either a password or a private key.
Usage

- Build and upload to remote devices
- Remote debugging*
- This is still in the experimental stages. Please use VS' Attach to Process if you have issues
- VS Linux Debugger will automatically detect and install
vsdbg
for you!
For GUI app debugging, you can use the Build and Deploy feature, however, you must manually Attach to Process via SSH using Visual Studio at this time.
Getting Started
Linux, we'll need SSH and cURL for access and downloading any missing tools:
sudo apt install openssh-server
sudo apt install curl
Windows:
- Open Visual Studio (VS) > Tools > Options > Linux Debugger
- Input: Remote Host IP address
- Input: Remote's User Name and Password
- VS > Extensions > Linux Debugger > Build, Deploy, Debug

Developers Wanted
Contributors and Q/A are welcomed on our GitHub page!
To contribute, please pick off an item from the project or issue page. We'd love to hear your enhancement ideas as well.
Releases
1.9.0
- Added: Now comes with PLink embedded. You can still manually set this if you prefer.
- Removed: Option to enable/disable PLink
1.8.1
- Fixed: Remote folder pre-cleanup.
- Added: Upload files async to reduce locking of Visual Studio
- Added: Removal of
launch.json
if it previously existed
- Added: More output logging.
- Update: Enhanced Output
- Updated: Output Window drop-down title to "Linux Debugger" from "Remote Debugger"
1.8.0
- Added: Logging to Output window under "Remote Debugging" dropdown
- Update: Do not include
launch.json
in the uploaded .tar.gz
package
- Update: Readme notes
- Update: Code cleanup
1.7.0
- Fixed: Remote debugging for PLink
- Fixed: VSDBG default path
- Update: DeleteLaunchJsonAfterBuild set to false by default
- Update: Separated LaunchJson class into separate objects
- Updated: SSH parameters to include
-o
(option) for StrictHostKeyChecking = NO
.
- Added: Additional internal logging
- Added: documentation to Launch and Configure classes
1.6.0
- Added: Ability to use SSH KeyFile with or without a passphrase.
- Added: Directions for creating and configuring local and remote devices
- Added: Additional directions in the Docs folder
1.2.0
- Removed: Publish option
- Updated Options page defaults
- Update: Remote output folder is now the assembly name
- Update: Remote output folder only clears intended target sub-folder
- Added: Remote Debugging (still in preview stages..)
1.1.1
- Updated: Branding name
- Removed: Temp disabled remote debugger
1.0.1
- Update: Remote output folder now creates subfolders with the same name as your project.
- Updated: project icon
1.0.0