微軟爲.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

相關文章
相關標籤/搜索