一、简介

使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设备也是挺漂亮的。

在新的Win10系统中微软给我们提供了一个基于Ubuntu的Linux子系统(Bash/WSL)。要全用Bash/WSL也比较简单,首先要先打开开发者模式( 设置 → 更新和安全 → 针对开发人员 → 开发人员模式), 然后在控制面板 → 程序 → 启用Windows功能 → Windows Subsystem for Linux (Beta)对Bash功能进行安装即可。

二、配置环境

本文中使用的环境:

开发环境:Win10 、Visual Studio 2017、.NET Core SDK 1.0.1 (Win与Linux子系统保持版本一致)

Bash/WSL中安装.NET Core SDK
1.更新Ubuntu子系统的软件源

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893sudo apt-get update

2.安装.NET Core SDK

sudo apt-get install dotnet-dev-1.0.1

3.安装SSH
子系统间的通信,因为系统不同还是需要安装SSH服务器,unzip和 curl或wget这些组件的。

sudo apt-get install openssh-server unzip curl

安装SSH后,系统并不能访问本机的系统的端口做通信,还需要配置一个SSH服务器的配置文件。

运行如下命令:

sudo nano /etc/ssh/sshd_config

分别找到如下配置项做修改,修改后的内容如下:

UsePAM noUsePrivilegeSeparation noPasswordAuthentication yes

修改后,按CTRL+X键退出并按Y键保存文件,回车回车。
最后重启下SSH服务。

sudo service ssh --full-restart

三、调试程序

启动SSH

每次启动Bash进程时都需要重新启动SSH Service

sudo service ssh start

新建程序

打开VS 2017 新建一个控制台应用.NET Core,并进行编译。

附加调试

接着默认运行起程序,然后在VS 2017 打开 调试-> 附加到进程 。
选择连接类型为SSH ,然后连接和目标处 输入 localhost,然后回车,会弹出对话,输入对应的用户名密码(这里的密码是安装Bash/WSL后设置的用户名和密码)。

好了,这样就可以只在Windows上安心的写程序了。

原文地址:http://www.cnblogs.com/maxzhang1985/p/6642312.html

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Win10 Bash\/WSL调试Linux环境下的.NET Core应用程序相关推荐

  1. Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

    一.简介 使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设备也是挺漂亮的. 在新的Win ...

  2. 使用WSL开发Linux环境下的Python——python环境安装

    使用WSL开发Linux环境下的Python--Python环境安装 在上一章中介绍了WSL的安装,本章将介绍如何搭建基于WSL的python的开发环境. 附上WSL安装篇的链接:使用WSL开发Lin ...

  3. visual studio community 2019 编译调试linux环境下程序

    首先在visual studio installer 中勾选"使用C++的Linux开发"和"使用C++的桌面开发" 创建一个自己的代码工程,文件>新建& ...

  4. 在visualc++可以运行的程序在linux下怎么不能,Linux环境下C++只允许单个程序运行...

    本程序在Ubuntu和Centos系统下能够正常使用! 具体实现的代码: bool isSingleProcess () { long pid; char full_name[1024] = {0}; ...

  5. Linux如何检测栈溢出,Linux环境下栈溢出实验(一) 改变程序流程

    简介 : 栈溢出是由于C语言系列没有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围.当溢出缓冲区之后 , 如果继续写入数据就有可能将内存中的 ...

  6. linux环境聊天程序毕业设计,linux环境下的密文聊天系统(论文+程序)

    5.4   服务器端核心代码 http://www.paper51.com 图6 服务器完成初始化 http://www.paper51.com 图6为服务器初始化过程和为已登录用户服务的过程.服务器 ...

  7. linux环境下安装rar解压程序

    一.下载rar安装包 wget https://www.rarlab.com/rar/rarlinux-x64-5.6.0.tar.gz 二.解压并安装 解压 tar -xzvf rarlinux-x ...

  8. Linux环境下用vim编写编译运行C/C++程序

    在Linux环境下编写编译运行C程序 首先在终端下输入命令进入编写 vim hello.c #include <stdio.h> int main() {printf("hell ...

  9. Linux环境下段错误的产生原因及调试方法小结

    From:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基 ...

最新文章

  1. 前端页面可视化设计工具
  2. Complex Congratulation β
  3. python-pcl
  4. nosql简答什么是最终一致性_最终一致性 – 如何在NoSQL中维护非规范化一致性?...
  5. 进云仿美团外卖平台 v1.39源码
  6. android的ListView做表格添加圆角边框
  7. Python风格总结:数据结构
  8. 当开源奔向物流,阿里云 PolarDB-X 数据库与韵达携手的背后
  9. 7.Windows口令扫描及3389口令暴力破解
  10. 锐起无盘服务器内存盘,关于锐起无盘的缓存原理以及使用方法
  11. MOSS开发网站收集
  12. 城市大脑从起源到终极状态的7个阶段
  13. 关于eclipse导入项目后架包找不到问题
  14. 春种秋收—朴素的道理
  15. 最给人启迪的30条编程名言
  16. 数据科学与机器学习案例之客户的信用风险与预测
  17. java日期和时间操作
  18. WWW 2018论文分享| 基于部分可见异常样本的异常检测问题
  19. html让文本框左剧中对齐_Python批量设置pptx文件中文本框边框与填充样式(含20分钟视频讲解)...
  20. Linux 私房菜速读

热门文章

  1. git的安装与使用(一)--windows平台 .
  2. 浅谈.NET 6 中 gRPC 的最新功能
  3. Elastic AMP监控.NET程序性能
  4. 微结构设计能力看国产CPU发展
  5. 我敢说,这是最全的常用设计模式汇总
  6. 如何在 ASP.Net Core 中使用 File Providers
  7. 【Vscode】调试DotNet Core代码
  8. ASP.NET Core Controller与IOC的羁绊
  9. 程序员过关斩将--论系统设计的高可扩展性
  10. 使用 docker 构建分布式调用链跟踪框架skywalking