.NETdotNET

使用WSL中开发调试.NET Core

2019-10-24  本文已影响0人  HANFAN

安装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
上一篇下一篇

猜你喜欢

热点阅读