Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序。

本文环境

开发环境:Win10 x64 Visual Studio 2017

部署环境:Ubuntu 14.04 x64 .NET Core SDK 1.0.1

Ubuntu上安装.NET Core SDK

Ubuntu 14.04 x64

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 417A0893
sudo apt-get update

如果之前安装过预览版务必更新一下。

接着安装最新版本SDK 1.0.1

sudo apt-get install dotnet-dev-1.0.

安装完成后执行 dotnet --info 如下:

表示SDK安装成功。

接着在Linux服务器上,需要安装SSH服务器,unzip 和 curl或wget。命令如下:

sudo apt-get install openssh-server unzip curl

安装完成后,一切准备就绪。

新建程序

打开VS 2017 新建一个控制台应用.NET Core 名为: LinuxDemo。

在Program.cs 加入如下代码:

    class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World! LineZero");
Console.WriteLine("Linux .NET Core Debug");
Console.WriteLine("'q' exit");
while (true)
{
var result = Console.ReadLine();
if (result.Equals("q"))
return;
Console.WriteLine(result);
}
}
}

编写完代码,将代码上传到Ubuntu 上。

接着在Ubuntu 上运行程序,成功执行。

dotnet restore

dotnet build

dotnet run

附加调试

接着默认运行起程序,然后在VS 2017 打开 调试-> 附加到进程

选择连接类型为SSH ,然后连接和目标处 输入Ubuntu 的 IP,然后回车,会弹出对话,输入对应的用户名密码。

配置:

附加进程:

选择类型:

接着等待一下,在Linux输入几个字符,回车断下:

注意:

如果发现附加之后无法断下,停止调试,重启VS,然后退出程序,重新运行然后附加。多尝试几次即可。

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

Visual Studio 2017 通过SSH 调试Linux 上.NET Core的更多相关文章

  1. Visual Studio 2017 的 JavaScript 调试功能的关闭

    关闭方法其实很简单,Options => Debugging => General => Enable JavaScript debugging for ASP.NET (Chrom ...

  2. visual studio 在windows远程调试 linux 程序 cout 输出乱码

    转载:https://www.cnblogs.com/findumars/p/6627255.html 反正是解决了. 以gcc为例,它有三个命令选项:-finput-charset=gb18030- ...

  3. VS2017 Linux 上.NET Core调试

    调试Linux 上.NET Core Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Stud ...

  4. Visual Studio 2017 Enterprise (15.3)

    版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...

  5. 从头开始学eShopOnContainers——Visual Studio 2017环境配置

    一.安装和配置Docker环境 1.安装Docker CE for Windows 从官方网站下载并安装,https://docs.docker.com/docker-for-windows/inst ...

  6. Visual Studio 2017正式版发布全纪录

    又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 ...

  7. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  8. 使用Visual Studio 2017作为Linux C++开发工具

    Visual Studio 2017 微软的宇宙第一IDE Visual Studio 2017正式版出来了,地址是:https://www.visualstudio.com/vs/whatsnew/ ...

  9. 使用Visual Studio 2017开发Linux程序

    环境: win7_x64旗舰版.VS2017企业版.VMware10.0.2.CentOS7 在CentOS7上首先需要安装gcc.g++和gdbserver,这里就不多说 一.安装VS2017 1. ...

随机推荐

  1. node源码详解(六) —— 从server.listen 到事件循环

    本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource6 本博客同步在https://cnodejs.o ...

  2. 开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台

    Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台. ...

  3. HTML5常用标签分类

    1.行级元素标签:a.span.sup.sub.em.b.big.i.strong 2.块元素标签:div.p.h1~h6.ul.ol.li.table.form.article.footer.hea ...

  4. java gc的调用机制 和编程规则

    转载:http://sunzhyng.iteye.com/blog/480148 一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,有一些应用程序对性能要求 ...

  5. I/O模型浅析

    引入 首先来说一下进程: 进程在就是一段执行中的代码,他是由一条条指令和数据组成的一个具有生命周期的有头有尾的实体. 进程根据权限大体上可以分为两类:用户进程 和 内核进程. 这两者的主要区别在于权限 ...

  6. [html5]学习笔记一 新增的非主体结构元素

    html新增加的非主体结构元素,主要是用来表示附加信息的,包括header,footer,hgroup,address元素. 1.header元素 header元素是一种具有引导和导航作用的结构元素, ...

  7. WebForm 内置对象、数据增删改、状态保持

    一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → ...

  8. Livy原理详解

    Livy的概述(引自社区) Livy(当前是alpha版本)是一个提供rest接口和spark集群交互的服务.它可以提交spark job或者spark一段代码,同步或者异步的返回结果:也提供spar ...

  9. java泛型简单学习

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: //import java.util.List; public class GenericTest { public st ...

  10. Spring之IOC讲解

    一.SpringIOC的好处: ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处. 1.资源集中管理,实现资源的可配置和易管理. 2.降低了使用 ...