使用VS2019在WSL中開發調試.NET Core


安裝WSL

1、打開WINDOWS功能,勾選子系統選項

20190806205643.png

2、打開商店搜索WSL,安裝ubuntu

我這里的系統版本是:18.04

如何查看ubuntu系統版本

sudo lsb_release -a

cat /etc/issue

20190806205434.png

3、打開ubuntu,設置賬號密碼

安裝.net core SDK

參考以下鏈接即可安裝:

在Linux Ubuntu 18.04 - x64上安裝.NET Core SDK

你可能會遇見的問題

報錯:

'universe' distribution component is already enabled for all sources.

解決方案:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"

報錯參考連接

等待安裝完成后,輸入

dotnet --info

即可查看安裝的SDK情況

配置SSH

sudo vim /etc/ssh/sshd_config

找到以下配置:

# Authentication:
LoginGraceTime 2m
PermitRootLogin prohibit-password
StrictModes yes

PasswordAuthentication no
PubkeyAuthentication no

修改為:

# Authentication:
LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes

PasswordAuthentication yes
PubkeyAuthentication yes

找到:

#Port 22

修改為:

Port 2200

重啟SSH

service ssh restart

添加SSH開機自啟

sudo systemctl enable ssh

你可能會遇見的問題

Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key

原因:

  1. 從提示信息看是sshd守護進程不能加載主機密鑰文件,因為找不到這些密鑰文件(配置文件/etc/ssh/sshd_config中已定義密鑰文件名與路徑);
  2. 一般openssh服務正常安裝后,主機會自動生成相應的主機密鑰文件,但這里因未知原因並沒有完成這一步動作,導致無法遠程ssh連接。

解決方案:

ll /etc/ssh/  # 檢查密鑰文件是否存在,也可能存在但是文件大小為0

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key  # 生成 SSHrsa_key (-t生成密鑰使用的加密類型,-f生成密鑰文件名);

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key #生成 ecdsa_key

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key # 生成ed25519_key

使用命令行工具連接該子系統:

20190807095030.png

運行代碼並調試

1、打開VS2019並配置

工具-設置-跨平台

20190807221859.png

點擊添加

輸入對應的主機名密碼賬號密碼

2、將現有的代碼復制到WSL中

dotnet run

3、打開vs2019調試

3.1、調試-附加到進程

3.2、連接類型選擇SSH

3.3、選擇對應的連接目標

3.4、選擇對應的進程

你可能會遇見的問題

20190807112308.png

解決方案:

 sudo apt-get install zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM