zoukankan      html  css  js  c++  java
  • 微软为.NET程序员带来了最优的跨平台开发体验-WSL

    前言

    在前几个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 version
    
    VERSION="16.04.2 LTS (Xenial Xerus)"
    VERSION_ID="16.04"
    VERSION_CODENAME=xenial
    
    

    但是如果已经安装过WSL后再升级Windows,那样Ubuntu子秕的版本还会是14.04,所以需要重新安装一下Ubuntu子系统,命令如下:

    lxrun /uninstall /full
    lxrun /install
    

    如果你已经是最新版本的创新者的Windows,此时Ubuntu子系统的版本也将升级到16.04。

    安装.NET CORE SDK

    只需要到https://www.microsoft.com/net/core#linuxubuntu上找到,对应16.04版本安装方式,就可以顺利的安装了,与Ubuntu系统的真机安装体验一致。

    安装调试器

    先要将调试器下载到子系统中运行bash,再运行如下命令:

    sudo apt-get install unzip
    curl -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

  • 相关阅读:
    windwos 安全基线
    Linux 安全基线
    OWASP top 10 (2017) 学习笔记--跨站脚本(XSS)
    OWASP top 10 (2017) 学习笔记--安全错误配置
    OWASP top 10 (2017) 学习笔记--失效的访问控制
    OWASP top 10 (2017) 学习笔记--XML外部实体(XXE)
    How to Install MongoDB 4.2 on CentOS/RHEL 8/7/6
    C# 正则表达式 双引号
    转载-js判断数组是否有重复值
    如何在Nginx.conf中使用环境变量
  • 原文地址:https://www.cnblogs.com/maxzhang1985/p/8001782.html
Copyright © 2011-2022 走看看