使用WSL中开发调试.NET Core
安装WSL
1、打开WINDOWS功能,勾选子系统选项
2、打开商店搜索WSL,安装ubuntu
我这里的系统版本是:18.04
如何查看ubuntu系统版本
sudo lsb_release -a
或
cat /etc/issue
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
原因:
- 从提示信息看是sshd守护进程不能加载主机密钥文件,因为找不到这些密钥文件(配置文件/etc/ssh/sshd_config中已定义密钥文件名与路径);
- 一般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
使用命令行工具连接该子系统:
运行代码并调试
1、打开VS2019并配置
工具-设置-跨平台
点击添加
输入对应的主机名密码账号密码
2、将现有的代码复制到WSL中
dotnet run
3、打开vs2019调试
3.1、调试-附加到进程
3.2、连接类型选择SSH
3.3、选择对应的连接目标
3.4、选择对应的进程
你可能会遇见的问题
解决方案:
sudo apt-get install zip