ubuntu - Tilslutning til Windows Subsystem til Linux fra Visual Studio 2017

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg ønsker at debugere en Linux C ++-konsol-applikation fra VS2017, som i disse tutorials:


Skrivning og fejlfinding Linux C-applikationer fra Visual Studio ved hjælp af Windows-subsystemet til Linux [5]


målretning windows subsystem til Linux fra visuel studio [6]


Jeg har installeret gdbserver og openssh-server i min WSL Ubuntu 16.04 installation, og sshd kører, men jeg kan ikke oprette forbindelse fra VS2017.
Når jeg prøver, får jeg fejlen 'Connectivity Failure. Please make sure the host name and port number are correct'.


Visual Studio 2017 Opret forbindelse til Linux [7]


Både værtsnavnet og portnummeret er korrekt, så vidt jeg er bekymret for. Jeg ved, at WSL stadig er Beta, så jeg antager, at problemet har noget at gøre med WSL (jeg har for nylig installeret Windows 10 Creators Update, så det er i det mindste opdateret, men jeg forventede ssh at arbejde med CU). Jeg bruger Windows 10 version 1703, Build 15063.250.


Opdater
Jeg fik Visual Studio til at oprette forbindelse til min Ubuntu VM, hvilket viser at det virker, og problemet skal være med Bash on Windows. Intet fungerer sammen med indgående forbindelser, men udgående forbindelser fungerer som forventet.


VS Connection Manager Dialog Box [8]


Har nogen andre haft problemer med at oprette forbindelse til WSL fra Visual Studio 2017 på denne måde?

Bedste reference


Ja, det ser ud til, at dette problem allerede er rapporteret her og her. [9] [10]


Ifølge en ny kommentar til sidstnævnte tråd er problemet blevet løst i Windows Insider build 16199. Afhængigt af dine omstændigheder kan dette være en mulighed for dig, indtil reparationen er indarbejdet i release versionen.


Hvis du er i et produktionsmiljø, anbefaler jeg, at du fortsætter med at bruge VM. Jeg har ikke personligt haft for mange problemer med Windows Insider builds, men der er altid en risiko involveret.

Andre referencer 1


Jeg konfronteret det samme problem med Windows bygge med 16299 og er i stand til at løse problemet nu. Udstationering af beslutningen, hvis det hjælper enhver anden medprogrammerer. (Selvom James måske allerede har løst det)



  WSL mangler åben ssh server som standard. Det skal først konfigureres
  for at du kan oprette forbindelse til Visual Studio



For at dobbeltkrydse dette. Gå til Powershell og kør netstat -an. Jeg kunne ikke finde noget, der kører på localhost :: 22.


Følg disse instruktioner for at installere åbne ssh på WSL-installation og kør åben ssh-server. [11]


I output fra nestat -an, nu skal du se noget som nedenfor


  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:22             0.0.0.0:0              LISTENING


Nu kan jeg forbinde VS til WSL. :-) Skål !!