微软为.NET程序员带来了最优的跨平台开发体验-WSL

前言

在前几个Visual Studio Code更新中发现有一个重要得特性,就是nodejs可使用VS Code在WSL中进行Debug了(WSL是指Win10中的Linux子系统),以前写过一篇文章是使用SSH对Linux环境进行Debug,此时的想法就是若是能够在WSL中直接对程序进行调试的话,那么对于开发人员这项功能将是在Windows中最好链接Linux环境的开发环境了,并且因为Windows子系统的“原理”,全部子系统中的进程将与系统进程运行在物理主机上,因此能够判定调试的“速度”也是很是快速的。node

先决条件

要想在Visual Studio Code中调试.NET Core程序,并运行在Windows Subsystem for linux(WSL)中,须要一些先决条件,这些条件包括:linux

  • 须要将Windows更新到最新的创新者版本(版本号为:1709)
  • 在WSL中安装.NET CORE SDK (2.0.2)
  • 最新版本的VS Code和C#扩展 (Microsoft C# extension)

之因此要更新Windows系统到最新的创新者版本,主要是由于以前版本的Windows不能安装Ubuntu子系统的最新版本。以前的版本为14.04,要想使用新的特性,咱们要将Ubuntu子系统升级到16.04版本。git

解决问题

安装WSL

接下来咱们先使用bash命令,肯定一下Windows上安装的Ubuntu子系统的版本:github

~$ cat /etc/os-release | grep  -i version

VERSION="16.04.2 LTS (Xenial Xerus)"
VERSION_ID="16.04"
VERSION_CODENAME=xenial

可是若是已经安装过WSL后再升级Windows,那样Ubuntu子秕的版本还会是14.04,因此须要从新安装一下Ubuntu子系统,命令以下:json

lxrun /uninstall /full
lxrun /install

若是你已是最新版本的创新者的Windows,此时Ubuntu子系统的版本也将升级到16.04。ubuntu

安装.NET CORE SDK

只须要到https://www.microsoft.com/net/core#linuxubuntu上找到,对应16.04版本安装方式,就能够顺利的安装了,与Ubuntu系统的真机安装体验一致。bash

安装调试器

先要将调试器下载到子系统中运行bash,再运行以下命令:app

sudo apt-get install unzip
curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg

下载过程可能会很慢长,主要取决因而否FQ。下载后的文件会在当前目录的~/vsdbg/vsdbg。个人下载目录为:/home/maxzhang/vsdbg/vsdbgcurl

launch.json

添加调试启动的配置:学习

{
    "name": ".NET Core WSL Launch",
    "type": "coreclr",
    "request": "launch",
    "preLaunchTask": "build",
    "program": "/mnt/f/dotnetcoreapps/DebugOnWSL/DebugOnWSL/bin/Debug/netcoreapp2.0/DebugOnWSL.dll",
    "args": [],
    "cwd": "/mnt/f/dotnetcoreapps/DebugOnWSL/DebugOnWSL",
    "stopAtEntry": false,
    "console": "internalConsole",
    "pipeTransport": {
        "pipeCwd": "",
        "pipeProgram": "C:\\Windows\\System32\\bash.exe",
        "pipeArgs": [
            "-c"
        ],
        "debuggerPath": "/home/maxzhang/vsdbg/vsdbg"
    }
}

具体路径须要按本身的须要进行修改,而后就能够按F5进行调试了。期待VS中也能拥有这样的开发体验。

推广

GitHub:https://github.com/maxzhang1985/YOYOFx 若是觉还能够请Star下, 欢迎一块儿交流。

.NET Core 开源学习群:214741894

相关文章
相关标签/搜索