.netcore使用vscode多项目调试
开发环境:windows 编辑器: Visual Studio Code
环境安装:
.Net Core 1.1 SDK https://www.microsoft.com/net/core#windowscmd
1.新建一个多项目文件夹multiproject,cmd命令 :mkdir multiproject,也可以用右键添加新建文件夹。(ps:vscode调试控制台也有终端,也可输入cmd命令)
2.在multiproject目录下新建dotnetnewapp控制台项目,在cmd窗口输入
cd multiproject
mkdir dotnetnewapp
cd dotnetnewapp
dotnet new
这样就在multiproject下新建了dotnetnewapp项目。
3.新建一个类库项目 dotnetnewlib :同样需要切换到目录multiproject下,在cmd窗口输入
mkdir dotnetnewlib
cd dotnetnewlib
dotnet new -t lib
这样就在multiproject下新建了dotnetnewlib 项目。
4.在 dotnetnewlib添加calculator.cs文件
using System; namespace dotnetnewlib
{
public class calculator
{
public static int add(int a,int b )
{
return a + b;
}
}
}
5.dotnetnewapp引用类库dotnetnewlib。
(1)在dotnetnewapp目录下修改project.json,添加dotnetlib引用。
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
},
"dotnetnewlib":{
"target":"project",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
}
}
}
(2)修改program.cs文件
using System;
using dotnetnewlib; namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{ int result = calculator.add(,);
Console.WriteLine($"Hello World {result}!");
}
}
}
6.在cmd下编译运行项目。
(1)编译类库:切换到dotnetnewlib目录,在cmd下输入
dotnet restore
dotnet build
(2)编译并运行dotnetnewapp项目:切换到dotnetnewapp目录,在cmd下输入
dotnet restore
dotnet build
dotnet run
可以看到输出:Hello World 5!
7.用vscode运行dotnetnewapp项目
打开multiproject文件夹,点击左边的调试菜单,点击设置,选择.net core,可新建launch.json文件,直接点击调试按钮,会提示缺少task.json文件,是否新建,选择新建。
运行后依然报错。
需要配置如下:
launch.json,在.NET Core Launch (console)配置项配置program和cmd为dotnetnewapp项目生成的dll路径和项目路径
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}/dotnetnewapp/bin/Debug/netcoreapp1.1/dotnetnewapp.dll",
"args": [],
"cwd": "${workspaceRoot}/dotnetnewapp",
"stopAtEntry": false,
"externalConsole": false
}
tasks.json,添加options项,并设置cmd为为dotnetnewapp项目路径
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "dotnet",
"isShellCommand": true,
"args": [],
"tasks": [
{
"taskName": "build",
"args": [],
"isBuildCommand": true,
"showOutput": "silent",
"problemMatcher": "$msCompile"
}
],
"options": {
"cwd": "${workspaceRoot}/dotnetnewapp"
}
}
继续点击开始调试按钮,可看到调试控制台输出 Hello World 5!
8.打开dotnetnewapp项目的program.cs文件,发现calculator并没有代码提示,vscode最下边的蓝色的栏目右边有一个switch projects或者是2 projects,点击它。
上面弹出下拉框,选择project.json dotnetnewapp 。确定后发现代码提示有了。接着就可以添加断点进行调试了。
最后:附上项目文件截图,可以看到dotnetnewapp/bin/Debug/netcoreapp1.1下面生成了dotnetnewlib.dll和dotnetnewapp.dll
ps:上述内容大部分参考网上资料结合自己总结。原理部分还没研究,有些地方也忽略描述了~
.netcore使用vscode多项目调试的更多相关文章
- .NetCore 使用VSCode多项目调试
使用VSCode可以调试.Net Core,但是调多个项目就需要进行一番设置. 首先创建一个总文件夹,以NetProjects文件夹为例,并创建一个解决方案.然后创建俩个.NetCore项目,并添加到 ...
- Ubuntu16.04 中 Vscode 如何断点调试C语言程序
个人博客链接:Ubuntu16.04 中 Vscode 如何断点调试C语言程序 问题:环境是 Ubuntu16.04,如何使用 Vscode 断点调试C语言程序. 写代码没有调试环境是不能忍受的,所以 ...
- VsCode编写和调试.NET Core
本文转自:https://www.cnblogs.com/Leo_wl/p/6732242.html 阅读目录 使用VsCode编写和调试.NET Core项目 回到目录 使用VsCode编写和调试. ...
- VSCode调试Html中的脚本 vscode前端常用插件推荐,搭建JQuery、Vue等开发环境 vsCode 添加浏览器调试和js调试的方法总结 VS Code - Debugger for Chrome调试js
一.背景 使用Visual Studio Code写了一个简单的Html页面,想调试下其中script标签里的javascript代码,网上查了一通,基本都是复制粘贴或者大同小异的文章,就是要安装De ...
- 基于.NetCore开发博客项目 StarBlog - (15) 生成随机尺寸图片
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- VS2013启动项目调试的时候会启动本地IIS
VS2013启动项目调试的时候会启动本地IIS ,而在这种状态下去调试程序,会有很多功能用不了,而且还会有错误:如下图: 解决方法,将托管管道模式更改一下就行了:
- vs2017 .net core 项目调试浏览器网页闪退Bug
from:https://blog.csdn.net/qq_36330228/article/details/82152187 vs更新2017最新版本后,项目调试浏览器莫名其妙出现闪退,每次都TMD ...
- VSCode配置python调试环境
VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...
- vsCode 添加浏览器调试和js调试的方法总结
vsCode 添加浏览器调试和js调试的方法 1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { " ...
随机推荐
- 分形之列维(levy)曲线
莱维C形曲线(Lévy C curve)是个自我相似的分形,最先由保罗·皮埃尔·莱维在1938年的论文Plane or Space Curves and Surfaces Consisting of ...
- 查询字段描述sql-postgresql
查询字段描述sql SELECT 'comment on column ' || n.nspname ||'.'|| c.relname || '.' || a.attname ||' is '''| ...
- .net图表之ECharts随笔04-散点图
见图说话,修改参数option实现上图显示: 1. 共用参数title还有一个属性subtext,可以用来设置副标题 2. tooltip与toolbox也是共用属性 3. dataZoom是设置滚动 ...
- css伪元素:before和:after用法详解
css的伪元素,之所以被称为伪元素,是因为他们不是真正的页面元素,html没有对应的元素,但是其所有用法和表现行为与真正的页面元素一样,可以对其使用诸如页面元素一样的css样式,表面上看上去貌似是页面 ...
- 使用solr crud 的三种方式(了该)
1.solrJ 实际是http 请/响 2.spring data solr 实际是对官方类库(solrJ)的封装 3.使用httpClient 手动请求
- C#6.0语言规范(十三) 接口
接口定义合同.实现接口的类或结构必须遵守其合同.接口可以从多个基接口继承,并且类或结构可以实现多个接口. 接口可以包含方法,属性,事件和索引器.接口本身不为它定义的成员提供实现.接口仅指定必须由实现接 ...
- WebRTC开发基础(WebRTC入门系列3:RTCDataChannel)
除了视频和音频,webRTC还可以传输其他数据 例子: http://webrtc.github.io/samples/src/content/datachannel/datatransfer/ 应用 ...
- Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译
根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcas ...
- puppet的使用:ERB模板介绍
ERB介绍 全称是Embedded RuBy,意思是嵌入式的Ruby,是一种文本模板技术,用过JSP的话,会发现两者语法很像. 我们项目中一般用ERB来产生各模块的配置文件.ERB模板也可以用来产生W ...
- 【JAVA】序列化
好处有2: 实现了数据的持久化,通过序列化可以把数据永久地保存到硬盘上(通常存放在文件里). 利用序列化实现远程通信,即在网络上传送对象的字节序列. 序列化ID的作用: 简单来说,Java的序列化机制 ...