使用VS Code开发调试.NET Core 多项目
使用Visual Studio Code(VS Code)开发调试.NET Core和ASP.NET Core 多项目multiple project。
之前讲解过如果使用Visual Studio Code(VS Code) 开发单个.NET Core和ASP.NET Core项目,大家也都知道如何开发。
多项目可能有些人还不大了解,今天给大家介绍一下。
本文将介绍如何开发调试多项目,及项目的引用,以及多项目的切换。
环境安装
本文开发环境:
WIN10 x64
Visual Studio Code 1.4.0
C# 插件 1.3.0
.NET Core SDK Installer:
https://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/packages/DotNetCore.1.0.0-SDK.Preview2-x64.exe
SDK 如果安装过 RC2及之前版本,请先卸载然后再安装。
更多系统版本下载:
https://www.microsoft.com/net/download
VS Code :
https://code.visualstudio.com/
VS Code C#插件:
点击控制面板左侧扩展,然后搜索C# 安装即可。

安装好插件以后重启VS Code。
环境安装好了,就可以正式开始了。
创建多项目
创建项目采用dotnet new 命令,更多dotnet 命令使用,可以参考: http://www.cnblogs.com/linezero/p/dotnet.html
这里我先创建一个名为:dotnet 的根目录。
然后依次创建 multiapp multiapplib multiappweb。
所有命令如下:
mkdir dotnet
cd dotnet mkdir multiapp
mkdir multiapplib
mkdir multiappweb cd multiapp
dotnet new
cd .. cd multiapplib
dotnet new -t lib
cd .. cd multiappweb
dotnet new -t web
所有命令执行完以后,得到如下目录。

VS Code 开发调试
下面我们就使用VS Code 打开文件夹 dotnet 。注意:这里打开的文件夹是 dotnet
打开文件夹我们打开multiapp 的Program.cs。

然后 注意右下角 Running ,这里我们点击选择multiapp
会提示是否创建文件及还原,这里我们选择Yes和Restore。

下面我们来添加项目引用。打开multiapp 的project.json ,添加如下引用:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"multiapplib": {
"version": "1.0.0",
"target": "project"
}
},
"imports": "dnxcore50"
}
}
}
在 dependencies 节点中加入 multiapplib
然后在 multiapplib 加入User 类。然后再multiapp 中使用。
public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; } public override string ToString()
{
return $"user:{UserName}{Password}";
}
}
加好User Class 我们首先右下角点击一下multiapp 切换到 multiapplib。
等到Running 变成 Switch project 我们再切换到 multiapp。这样就会有智能提示。
然后在multiapp 中添加命令空间,然后使用。
调试就能正常的调试及,进入类库调试。

下面我们以multiappweb 为主项目引用 multiapplib ,然后调试ASP.NET Core 多项目。
这里由于一个目录没办法存在两个主项目,所以我们先删除掉dotnet文件夹下 .vscode。
然后打开dotnet 文件夹,选择项目 multiappweb,然后再让VS Code生成.vscode。

同样添加引用,
"dependencies": {
"multiapplib": {
"version": "1.0.0",
"target": "project"
},
...
我们在Controller 中使用
using ClassLibrary;
public IActionResult Index()
{
User u=new User();
u.Id=;
u.UserName="linezero";
u.Password="";
return View(u);
}
对应的View
@model ClassLibrary.User <h1>@Model.UserName</h1> <h3>@Model.ToString()</h3>
代码编写好以后,我们调试程序会发现出错,因为ASP.NET Core 读取不到正确的路径。
默认生成的配置文件,将dotnet 做为了目录。这里我们要做一个更改。
打开dotnet 目录下的 .vscode 的launch.json
将cwd 及sourceFileMap 都加上multiappweb 路径。

然后我们再来调试。
成功执行,默认将会为我们打开 http://localhost:5000/ 这里没有样式是因为bootstrap没有下载下来。

同样的我们可以调试代码,也可以进到类库。
如果你觉得本文对你有帮助,请点击“推荐”,谢谢。
使用VS Code开发调试.NET Core 多项目的更多相关文章
- 使用VS Code开发 调试.NET Core 应用程序
使用VS Code开发 调试.NET Core RC2应用程序,由于.NET Core 目前还处于预览版. 本文使用微软提供的示例进行开发及调试. https://github.com/aspnet/ ...
- Mac上使用Visual Studio Code开发/调试.NET Core代码
Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...
- VS Code开发调试.NET Core
使用VS Code开发 调试.NET Core 应用程序 使用VS Code开发 调试.NET Core RC2应用程序,由于.NET Core 目前还处于预览版. 本文使用微软提供的示例进行开发 ...
- 使用VS Code开发调试.NET Core 2.0
使用VS Code 从零开始开发调试.NET Core 2.0.无需安装VS 2017 15.3+即可开发调试.NET Core 2.0应用. VS Code 全称是 Visual Studio Co ...
- VS Code开发调试.NET Core 2.0
VS Code开发调试.NET Core 2.0 使用VS Code 从零开始开发调试.NET Core 2.0.无需安装VS 2017 15.3+即可开发调试.NET Core 2.0应用. VS ...
- 在Mac上使用Visual Studio Code开发/调试.NET Core代码
.Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调 ...
- [.NET Core 32]升级vs code之后,vs code无法调试net core web项目
错误提示&处理方法 参考链接:https://github.com/OmniSharp/omnisharp-vscode/issues/1742 错误:The .NET Core debugg ...
- 使用VS Code开发调试ASP.NET Core 1.0
使用VS Code开发调试ASP.NET Core 1.0,微软在今天凌晨发布了.NET Core 1.0,ASP.NET Core 1.0 与 Entity Framewok 1.0. 之前跟大家讲 ...
- VS Code开发调试ASP.NET Core 1.0
VS Code开发调试ASP.NET Core 1.0 使用VS Code开发调试ASP.NET Core 1.0,微软在今天凌晨发布了.NET Core 1.0,ASP.NET Core 1.0 与 ...
随机推荐
- 使用Unity3D的设计思想实现一个简单的C#赛车游戏场景
最近看了看一个C#游戏开发的公开课,在该公开课中使用面向对象思想与Unity3D游戏开发思想结合的方式,对一个简单的赛车游戏场景进行了实现.原本在C#中很方便地就可以完成的一个小场景,使用Unity3 ...
- 利用gulp搭建本地服务器,并能模拟ajax
工作中可能会用到的小工具,在此记录一下.可以实现的功能有: 本地http服务器 页面实时刷新 可以模拟ajax请求 第一步,新建package.json文件.用到了gulp.gulp-webserve ...
- 如何在没有域的环境中搭建AlwaysOn(一)
对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量. 该特性可 ...
- RequireJS学习笔记
前言 进入移动前端是很不错的选择,这块也是我希望的道路,但是不熟悉啊... 现在项目用的是require+backbone,整个框架被封装了一次,今天看了代码搞不清楚,觉得应该先从源头抓起,所以再看看 ...
- 使用Emit把Datatable转换为对象集合(List<T>)
Emit生成动态方法部分摘自网上,但是经过修改,加入了对委托的缓存以及类结构的调整,使之调用更简洁方便.大致的思路是:要实现转换datatable到某个指定对象的集合,本质是实现转换一个datarow ...
- WCF学习之旅—WCF概述(四)
一.WCF概述 1) 什么是WCF? Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终 ...
- JAVAScript控制多个下拉框
方法:获取多选下拉框对象数组→循环判断option选项的selected属性(true为选中,false为未选中)→使用value属性取出选中项的值.实例演示如下: 这个东西我是在百度上查的,我为了方 ...
- SSIS Data Flow优化
一,数据流设计优化 数据流有两个特性:流和在内存缓冲区中处理数据,根据数据流的这两个特性,对数据流进行优化. 1,流,同时对数据进行提取,转换和加载操作 流,就是在source提取数据时,转换组件处理 ...
- 移动web app开发必备 - zepto事件问题
问题描述: 项目在祖先元素上绑定了 touchstart,touchmove,touchend事件,用来处理全局性的事件,比如滑动翻页 正常状态下: 用户在子元素上有交互动作时,默认状态下都是会冒泡到 ...
- Android 圆形头像 自己动手
圆形头像DIY 现在大部分app使用的都是圆形头像,网上开源的也很多,但是有没有考虑过DIY圆形头像呢?下面就自己实现一个,先看下demo展示 第一步:原理解释(图片很丑,原理很真) 1.画外框圆形, ...