微软为.NET程序员带来了最优的跨平台开发体验-WSL
来源:互联网 发布:在淘宝开童装店 编辑:程序博客网 时间:2024/06/07 13:44
前言
在前几个Visual Studio Code更新中发现有一个重要得特性,就是nodejs可以使用VS Code在WSL中进行Debug了(WSL是指Win10中的Linux子系统),之前写过一篇文章是使用SSH对Linux环境进行Debug,此时的想法就是如果可以在WSL中直接对程序进行调试的话,那么对于开发人员这项功能将是在Windows中最好连接Linux环境的开发环境了,而且由于Windows子系统的“原理”,所有子系统中的进程将与系统进程运行在物理主机上,所以可以断定调试的“速度”也是非常快速的。
先决条件
要想在Visual Studio Code中调试.NET Core程序,并运行在Windows Subsystem for linux(WSL)中,需要一些先决条件,这些条件包括:
需要将Windows更新到最新的创新者版本(版本号为:1709)
在WSL中安装.NET CORE SDK (2.0.2)
最新版本的VS Code和C#扩展 (Microsoft C# extension)
之所以要更新Windows系统到最新的创新者版本,主要是因为之前版本的Windows不能安装Ubuntu子系统的最新版本。之前的版本为14.04,要想使用新的特性,我们要将Ubuntu子系统升级到16.04版本。
解决问题
安装WSL
接下来我们先使用bash命令,确定一下Windows上安装的Ubuntu子系统的版本:
~$ cat /etc/os-release | grep -i versionVERSION="16.04.2 LTS (Xenial Xerus)"VERSION_ID="16.04"VERSION_CODENAME=xenial
但是如果已经安装过WSL后再升级Windows,那样Ubuntu子秕的版本还会是14.04,所以需要重新安装一下Ubuntu子系统,命令如下:
lxrun /uninstall /fulllxrun /install
如果你已经是最新版本的创新者的Windows,此时Ubuntu子系统的版本也将升级到16.04。
安装.NET CORE SDK
只需要到https://www.microsoft.com/net/core#linuxubuntu上找到,对应16.04版本安装方式,就可以顺利的安装了,与Ubuntu系统的真机安装体验一致。
安装调试器
先要将调试器下载到子系统中运行bash,再运行如下命令:
sudo apt-get install unzipcurl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg
下载过程可能会很慢长,主要取决于是否FQ。下载后的文件会在当前目录的~/vsdbg/vsdbg。我的下载目录为:/home/maxzhang/vsdbg/vsdbg
launch.json
添加调试启动的配置:
{ "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" }}
具体路径需要按自己的需要进行修改,然后就可以按F5进行调试了。期待VS中也能拥有这样的开发体验。
回到目录
推广
GitHub:https://github.com/maxzhang1985/YOYOFx 如果觉还可以请Star下, 欢迎一起交流。
.NET Core 开源学习群:214741894
原文:http://www.cnblogs.com/maxzhang1985/p/8001782.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
- 微软为.NET程序员带来了最优的跨平台开发体验-WSL
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?
- 微软,您的.net为中国程序员带来了什么?-Java基础-Java-编程开发
- 微软,您的.net为中国程序员带来了什么?(转)
- Cordova(PhoneGap) v1.3 为 Windows Phone 带来更佳的跨平台 App 开发环境
- Hibernate为java程序员带来了什么
- 基于微软平台IIS/ASP.NET开发的大型网站
- 基于微软平台IIS/ASP.NET开发的大型网站
- 微软平台程序员的悲哀
- Microsoft.NET 平台带来的重要意义
- .NET跨平台初体验
- .net core 多平台开发体验
- javaweb 后台 获取前台form提交post的参数中文乱码
- Servlet中两种请求方式的区别
- MySQL添加新用户、为用户创建数据库、为新用户分配权限
- MVP模式
- 谈谈微服务中的 API 网关(API Gateway)
- 微软为.NET程序员带来了最优的跨平台开发体验-WSL
- IDEA插件JRebel安装配置与破解激活详细教程
- 对于二次型损失函数在minist手写体识别中是否合理的理解
- 基于Emgu CV+百度人脸识别,实现视频动态 人脸抓取与识别
- CNAAC开展应用安全标识“年终特惠”活动
- python中文(汉字)转拼音
- bootstrap下拉
- java——==、equlas和null
- linux centos部署nginx前端代码