.Net Core新建解决方案,添加项目引用,使用VSCode调试
并不是我自己琢磨的,是看了别人学习的,因为写的都不完整,所以就整理一下记录后面忘了回看。
反正.Net Core是跨平台的,就不说在什么系统上了。假设我要建一个名为Doggie的解决方案,里面包含了一个MVC项目,一个Models类库,一个包含了公共方法的类库Common,现在开始。
1、进入存放项目文件的文件夹,执行命令:
dotnet new sln -o Doggie
ps:能新建什么项目,可以使用dotnet new -h查看,会列出支持创建的项目类型和类型名字。
成功执行后可以看到目录内多了一个名为Doggie的文件夹。
2、cd进入文件夹Doggie,在该文件夹内打开命令行,输入如下命令:
dotnet new classlib -o Models

可以看到命令行输出内容显示创建了一个类库,如果有依赖,还会帮我们还原。
接下来新建Common类库,同样的命令:
dotnet new classlib -o Common
.Net Core也会做同样的事情,新建一个名为Common类库。
接下来新建MVC项目,命令如下:
dotnet new mvc -o MvcApp
顺利建好了。现在Doggie目录下有三个文件夹。

现在项目文件建好了,接下来是不是要把前面创建的三个项目加到解决方案中?
执行命令:
dotnet add -h

提示的很清楚了对不对,要添加项目引用,使用reference,那就执行下面命令:
dotnet sln add Models/Models.csproj
ps:上面的内容中提到,add是有一个参数的,表示要添加引用的项目文件,如果不指定就在当前文件夹内搜索项目,咱们这里传递sln,表示要为sln文件添加引用,由于文件夹下只有一个sln,所以会默认加到Doggie.sln下。
我试了下,这个参数说是项目文件并不恰当,应该是项目文件类型,因为我尝试传入Doggie.sln时并不能成功执行。

同样的命令添加Common和MvcApp。
dotnet sln add Common/Common.csproj dotnet sln add MvcApp/MvcApp.csproj
现在已经全部建好文件了,接着用VSCode打开,VSCode并不能打开sln文件,所以只能直接打开文件夹了。

Doggie文件夹打开后如下,可见前面创建的三个项目都显示在左侧。这时就有个问题,前面只是把项目加到了解决方案中,那MvcApp项目要引用Common和Model类库的呀,这时打开MvcApp.csproj文件:

发现只引用了.Net Core的两个sdk,Common和Models并未引用,所以在MvcApp项目内也就不能使用这两个类库,其实添加和前面也是一样的,打开Terminal窗口,执行命令:
cd MvcApp
dotnet add reference ../Common/Common.csproj

可以看到Common项目已经添加进来了,再打开MvcApp.csproj文件

同样的方法添加Models类库即可。
这样在MvcApp中就可以使用Models和Common了。
ps:如果是第一次用VSCode打开.Net Core项目,肯定会有一堆错误,全是找不到命令空间啥的,因为这时VSCode还没有C#的开发环境,这时就根据左下角弹出来的框,添加各种C#开发的扩展就好了。
再ps:上面是添加本地类库,如果是添加nuget上的类库怎么添加?就以添加Newtonsoft.json为例吧:
dotnet add package Newtonsoft.json --version 11.0.0.0
即可。
.Net Core新建解决方案,添加项目引用,使用VSCode调试的更多相关文章
- asp.net core web 解决方案多项目模板制作打包总结
一.文件夹\项目结构 1.1.文件夹 net6.0:针对.net 6.0 项目模板 net6.0pack:针对net6.0打包 1.2.项目结构 Web\WebApi多项目.各层项目.单元测试项目 目 ...
- 【笔记】Android项目添加项目引用方法
刚才在做phoneGap时,想试图自己添加phoneGap的lib组件(jar的源码),找了好多种方法,下面这种成功了 项目邮件 Properties, Android ,Add... ,然后Dep ...
- win10 添加项目右键用vscode打开
1.新建reg文件:在vscode安装目录下新建一个文本文件,然后将文件后缀改为:*.reg,文件名任意,例如:vsCodeOpenFolder.reg. 2.编写文本文件内容.将下面的内容Copy到 ...
- VS2013添加解决方案内项目的引用,编译时提示找不到文件
1.添加解决方案内项目引用 2.编译时报错 原因: 要引用的程序集的Framework版本与当前项目的版本不一致. 解决: 统一引用与被引用程序集的版本.
- 基于 abp vNext 和 .NET Core 开发博客项目 - 完善与美化,Swagger登场
上一篇文章(https://www.cnblogs.com/meowv/p/12896898.html)已经成功将博客项目跑起来了,那么本篇主要是将之前遗留的问题解决,现在的代码看起来可能还是比较混乱 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 集成Hangfire实现定时任务处理
上一篇文章(https://www.cnblogs.com/meowv/p/12956696.html)成功使用了Redis缓存数据,大大提高博客的响应性能. 接下来,将完成一个任务调度中心,关于定时 ...
- Visual Studio 2015下编译zmq项目下其他项目踩进的项目引用坑
PS.在之前的一篇文章中介绍了如何用Visual Studio 2015编译zmq,在编译同解决方案中除了libzmq之外的项目例如inproc_thr时会报错误,具如下: Severity Code ...
- VS Code 添加移除asp.net core项目引用
可以通过编辑.csproj文件来添加或者移除项目引用. 注意这里并没有智能提示, 最好是在Nuget网站(https://www.nuget.org/)搜索好相关包之后填写进来. 编辑结束之后, vs ...
- Dotnet Core Cli 解决方案中多个项目的相互引用和第三方库引用
dotnet add app/app.csproj reference lib/lib.csproj app项目引用lib项目 dotnet add package Newtonsoft.Json 当 ...
随机推荐
- 关于PHP架构师进阶的一些思考
相信大家都有感觉,就是当程序员写业务写了几年后,就会有想进阶的想法,技术方面当然就是架构师了,然后具体从哪些方面丰富自己才能个达到目的呢?大部分人可能会很迷茫,当然也包括我, 最近和很多大牛交流了一些 ...
- 《笨方法学Python》加分题29
加分练习猜一猜 “if 语句” 是什么,他有什么作用.在做下一道题之前,试着用自己的话回答下面的问题: 你认为 if 对他下一行代码做了什么?为什么 if 语句的下一行需要 4 个空格缩进?如果不缩进 ...
- EasyPR源码剖析(9):字符识别
在上一篇文章的介绍中,我们已经通过相应的字符分割方法,将车牌区域进行分割,得到7个分割字符图块,接下来要做的就是将字符图块放入训练好的神经网络模型,通过模型来预测每个图块所表示的具体字符.神经网络的介 ...
- 设计模式学习心得<组合模式 Composite>
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...
- SpringBoot放置在static下面的静态页面无法访问
最近写项目本来写的好好的,突然static的静态页面访问不了了. 于是我各种上网查资料,看大佬的解决方案,还是没有解决. 直到发现了这篇文章 https://blog.csdn.net/cmqwan/ ...
- Listener随笔
[1]监听器简介 > Listener是JavaWeb中三大组件之一.Servlet.Filter.Listener > 三大组件都有的共同特点,都需要实现一个接口,并在web.x ...
- 图解HTTP第三章
HTTP 报文内的 HTTP信息 用于 HTTP 协议交互的信息被称为 HTTP 报文.HTTP 报文本身是由多行(用 CR+LF 作换行符)数据构成的字符串文本. HTTP 报文大致可以分为两类:请 ...
- C语言闰年问题程序框图
判定2000-2500年中的每一年是否为闰年,并将结果输出. 先分析闰年成立条件: 1)能被4整除,但不能被100整除的年份都是闰年: (2)能被400整除的年份是闰年: #include<st ...
- 从Excel表中导入数据时日期格式的验证问题解决
#region IsDateTimeType 私有方法判断导入数据是否是日期格式 /// <summary> /// 私有方法判断导入数据是否是日期格式 /// </summary& ...
- SAS 循环与数组
SAS 循环与数组 SAS提供了循环语句以满足在编程中需要多次执行相同操作的情 况.有时还需要对不同的变量执行相同的操作,此时可定义SAS数组,并通过数组名和下标来引用这些变量. 1 循环 SAS循环 ...