GNU/Linux >> Tutoriales Linux >  >> Linux

Soporte oficial para la depuración remota de una aplicación .NET Core Linux en WSL2 desde Visual Studio en Windows

He escrito antes sobre el desarrollo en Docker con las nuevas y mejoradas herramientas de contenedor de Visual Studio (y WSL2) y también sobre la depuración remota de una aplicación .NET Core Linux en WSL2 desde Visual Studio en Windows.

Es el segundo del que hablo hoy. ¡Ahora puede ejecutar la consola .NET Core y las aplicaciones web en WSL2 y depurarlas directamente desde Visual Studio 2019!

¿Qué necesitas?

  • Herramientas .NET Core: https://get.dot.net
  • WSL 2: https://aka.ms/wsl
    • Distribución Ubuntu o Debian: https://aka.ms/wslstore
  • Visual Studio 2019
    • Depuración de .NET Core con extensión WSL 2

Esta es la experiencia en Visual Studio 2019 cuando se instala la extensión. "Simplemente funciona" y hace que sea muy fácil cambiar entre ejecutar en Windows (bajo IIS o el servidor web Kestrel o bajo Kestrel bajo su distribución de Linux predeterminada.

Mire esto, puede ver que .NET Core, desde la perspectiva de Linux/WSL 2, se carga desde /usr/share/dotnet/shared pero mi fuente permanece en mi unidad /mnt/d (mi Windows D :) y depurando Just Works.

También notará que estamos ejecutando en https://localhost:5001 y que localhost y puertos desde el punto de vista de Windows se asignan a localhost y apuntan (a través de un túnel local que es transparente) a WSL 2.

¿Cómo funciona el certificado SSL si el servidor web Linux Kestrel de WSL 2 lo está sirviendo?

Puede ver que hay un enlace simbólico entre mi carpeta WSL ~/.aspnet y mi perfil local en Windows para que esta aplicación comparta certificados SSL y que el mismo certificado se sirva con Kestrel en Windows y Kestrel en Linux.

scott@IRONHEART:~$ cd .aspnet
scott@IRONHEART:~/.aspnet$ ls
DataProtection-Keys https
scott@IRONHEART:~/.aspnet$ cd https/
scott@IRONHEART:~/.aspnet/https$ ls
hanselminutes.core.pfx
scott@IRONHEART:~/.aspnet/https$ ls -alogF
total 12
drwxr-xr-x 2 4096 Jun 23 17:02 ./
drwxr-xr-x 4 4096 Jun 23 17:02 ../
lrwxrwxrwx 1 71 Jun 23 17:02 hanselminutes.core.pfx
->
/mnt/c/Users/scott/AppData/Roaming/ASP.NET/Https/hanselminutes.core.pfx*
scott@IRONHEART:~/.aspnet/https$

Rompí esa línea con el enlace simbólico -> a lo largo de 3 líneas para que no terminara en este blog.

Ahora puede ejecutar y depurar aplicaciones .NET Core en Windows y Linux usando VS Code y Estudio Visual 2019! Estoy usando la Community Edition gratuita de Visual Studio 2019 y funciona muy bien. Esto me ayuda a ahorrar dinero ya que he movido mi sitio de Podcast a Linux en Azure y hace que mi desarrollo local se adapte mejor a mi realidad en la nube. ¡Pruébalo!

Patrocinador: Centralice y busque registros de aplicaciones estructuradas para diagnosticar problemas con confianza, ¡aún más rápido y más fácil con Seq 2020.1!


Linux
  1. Visual Basic .Net en Linux

  2. ¿Cómo configuro Qt para la compilación cruzada de Linux a destino de Windows?

  3. ¿Visual Basic es compatible con .NET Core en Linux?

  4. Cómo eliminar versiones anteriores de .NET Core de Linux (CentOS 7.1)

  5. ¿Existe F# Interactive para Linux en .NET Core, sin usar Mono?

Errores clásicos de Path.DirectorySeparatorChar al pasar de .NET Core en Windows a Linux

Soporte oficial para la depuración remota de una aplicación .NET Core Linux en WSL2 desde Visual Studio en Windows

Mover un ASP.NET Core de Azure App Service en Windows a Linux probando primero en WSL y Docker

Depuración remota de una aplicación .NET Core Linux en WSL2 desde Visual Studio en Windows

Escritura y depuración de aplicaciones C++ de Linux desde Visual Studio mediante el subsistema de Windows para Linux

Cómo compilar la aplicación .NET Core para Linux en una máquina con Windows