微软为.NET程序员带来了最优的跨平台开发体验-WSL
前言
在前幾個(gè)Visual Studio Code更新中發(fā)現(xiàn)有一個(gè)重要得特性,就是nodejs可以使用VS Code在WSL中進(jìn)行Debug了(WSL是指Win10中的Linux子系統(tǒng)),之前寫(xiě)過(guò)一篇文章是使用SSH對(duì)Linux環(huán)境進(jìn)行Debug,此時(shí)的想法就是如果可以在WSL中直接對(duì)程序進(jìn)行調(diào)試的話,那么對(duì)于開(kāi)發(fā)人員這項(xiàng)功能將是在Windows中最好連接Linux環(huán)境的開(kāi)發(fā)環(huán)境了,而且由于Windows子系統(tǒng)的“原理”,所有子系統(tǒng)中的進(jìn)程將與系統(tǒng)進(jìn)程運(yùn)行在物理主機(jī)上,所以可以斷定調(diào)試的“速度”也是非常快速的。
先決條件
要想在Visual Studio Code中調(diào)試.NET Core程序,并運(yùn)行在Windows Subsystem for linux(WSL)中,需要一些先決條件,這些條件包括:
-
需要將Windows更新到最新的創(chuàng)新者版本(版本號(hào)為:1709)
-
在WSL中安裝.NET CORE SDK (2.0.2)
-
最新版本的VS Code和C#擴(kuò)展 (Microsoft C# extension)
之所以要更新Windows系統(tǒng)到最新的創(chuàng)新者版本,主要是因?yàn)橹鞍姹镜腤indows不能安裝Ubuntu子系統(tǒng)的最新版本。之前的版本為14.04,要想使用新的特性,我們要將Ubuntu子系統(tǒng)升級(jí)到16.04版本。
解決問(wèn)題
安裝WSL
接下來(lái)我們先使用bash命令,確定一下Windows上安裝的Ubuntu子系統(tǒng)的版本:
~$ cat /etc/os-release | grep ?-i versionVERSION="16.04.2 LTS (Xenial Xerus)"VERSION_ID="16.04"VERSION_CODENAME=xenial但是如果已經(jīng)安裝過(guò)WSL后再升級(jí)Windows,那樣Ubuntu子秕的版本還會(huì)是14.04,所以需要重新安裝一下Ubuntu子系統(tǒng),命令如下:
lxrun /uninstall /fulllxrun /install如果你已經(jīng)是最新版本的創(chuàng)新者的Windows,此時(shí)Ubuntu子系統(tǒng)的版本也將升級(jí)到16.04。
安裝.NET CORE SDK
只需要到https://www.microsoft.com/net/core#linuxubuntu上找到,對(duì)應(yīng)16.04版本安裝方式,就可以順利的安裝了,與Ubuntu系統(tǒng)的真機(jī)安裝體驗(yàn)一致。
安裝調(diào)試器
先要將調(diào)試器下載到子系統(tǒng)中運(yùn)行bash,再運(yùn)行如下命令:
sudo apt-get install unzipcurl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg下載過(guò)程可能會(huì)很慢長(zhǎng),主要取決于是否FQ。下載后的文件會(huì)在當(dāng)前目錄的~/vsdbg/vsdbg。我的下載目錄為:/home/maxzhang/vsdbg/vsdbg
launch.json
添加調(diào)試啟動(dòng)的配置:
{"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"}}具體路徑需要按自己的需要進(jìn)行修改,然后就可以按F5進(jìn)行調(diào)試了。期待VS中也能擁有這樣的開(kāi)發(fā)體驗(yàn)。
回到目錄
推廣
GitHub:https://github.com/maxzhang1985/YOYOFx?如果覺(jué)還可以請(qǐng)Star下, 歡迎一起交流。
.NET Core 開(kāi)源學(xué)習(xí)群:214741894
原文:http://www.cnblogs.com/maxzhang1985/p/8001782.html
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的微软为.NET程序员带来了最优的跨平台开发体验-WSL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于Emgu CV+百度人脸识别,实现视
- 下一篇: 在.NET Core类库中使用EF Co