.Net Core 项目引用本地类库方式(一)
最近了解到.NET Core 项目,引用本地类库DLL的方式有三种
1、非同解决方案下的引用,直接引用,浏览,找到对应的DLL,然后确定引用。
这种方式有个不好的地方就是,如果引用的DLL文件里面,也引用了第三方DLL,那么通过这种方式引用,第三方DLL不会跟着引用进来,需要在项目里面重新又引用一次。
2、同解决方案下,通过项目引用
这种方式,就不需要再同解决方案下, 这样会项目太大,编译较慢,不过不存在上面那种方式的问题;
3、类库生成包,然后站点通过NuGet方式引用。今天重点记录一下这种方式的详细操作过程;
①、新建.Net Core 类库
类库里面新建一个类即可,类里面增加几个属性,只作为测试
类库已经建好,下面开始打包,可以通过nuget命令方式打包,也可以直接选中项目,右键打包即可
a、命令方式:
打开nuget 控制台
输入如下命令
dotnet pack F:\测试项目代码-待删\CoreTest.Library\PigMGT.DB.PigMGT_Stat --output F:\测试项目代码-待删\CoreTest.Library\nupkg
前面的地址是需要生成的项目文件路径,后面的output 接的路径是指包文件生成路径
2、直接鼠标右键方式:
这种方式默认包生成路径在该项目下,Bin =》debug 文件夹下,这里重点看下,这种方式有个问题就是第一次点击发包,然后生成成功,但是当你再次点击发包,则失败
提示成功0个,这代表重新打包失败了,需要右键点击清理后才可以再次进行打包。
好啦,通过上面的操作,我们的类库包已经打包好了,可以看看包文件
文件后缀是nupkg 格式的,注意看下,这里的1.0.0 是对应的版本好,这个很重要,下面会详细说到;
②、.NET Core 项目引用包的操作方式
前面有说到,引用包是通过nuget 的方式引用的,这个也是Core的一个特色,引用第三方插件都是通过nuget 的方式直接搜索安装即可,下面来操作一下,先配置一下数据源,因为默认是没有你本地的包文件数据源的
添加一个程序源,记得路径要改为你的包路径,点击确定
然后再进行引用
这里就可以看到我们刚建的类库项目了,选中直接安装即可,这样就已经引用成功啦
后台代码直接就可以调用这个包里面的类进行操作了,这样整个操作已经完成,不过我在操作过程中,有遇到几个问题,这里重点记录一下
1、重复打包失败问题,前面有说到,需要清理后重新打包即可;
2、如果包需要更改,更改后怎么重新打包引用。
我在测试过程中,在类里面加了个属性,但是重新引用后,还是没有变成改之后的参数,不管是删掉nuget程序源或重新建站点,都是如此,怀疑是不是包的问题,把更新后的包给同事,但是在他那边却是更新后的包,这样,就确定了包其实是没有问题的,后面,发现了这个其实和包的版本有关,前面有说到那个版本问题,默认是1.0.0,如果这个版本不变,则即使包更改了,重新引用还是如此,都是改之前的,解决方式就是更改包源文件后,需要更改他的包版本,再打包,如下:
更改后然后重新打包,然后包的文件就变成了,名称和版本号保持一致(不要想说重命名包名就可以,我试过了,是不行的哦),此时,版本号变了后,站点Nuget 解决方案就会自动有更新的提示,你直接点击安装即可,这样,就已经更新到了最新的包版本,这种方式就有个问题,如果每次更新类库了,都需要改它的版本号才行,我目前了解是这样,也许有其他方式
这里还提示一下,打包方式不会存在包里面引用第三方插件还需重新引用的问题。
好啦,以上完毕,我也是才接触,如果有什么问题大家只管留言,三克油
.Net Core 项目引用本地类库方式(一)的更多相关文章
- .Net Core 项目引用本地类库方式(二)
上篇文章有详细的介绍.Net Core 项目中引用本地类库通过打包,然后Nugety引用方式,这里再介绍一种引用包的方式
- chrome调试本地项目, 引用本地javascript文件
chrome调试本地项目, 引用本地javascript文件 本地文件可以访问本地文件 修改快捷方式属性 C:\Users\xxx\AppData\Local\Google\Chrome\Applic ...
- 使用VSCode创建.NET Core 项目,添加类库间引用
注:网络上搜索到的关于VsCode创建调试.Net Core 项目的文章都比较老旧,不能完全参考使用,根据网络文章.微软官方文档的指导下,学习并整理此文档,但也大体和文档学习路线相似,主要为记录学习过 ...
- Eclipse插件项目 引用其他类库的方法(jar)
这两天搞了个Eclipse插件项目,用来监测ios.android设备和电脑的连接,安装apk/ipa到对应设备等等功能. 遇到了build path下的library引入编译正常,运行时报Class ...
- VS Code 添加移除asp.net core项目引用
可以通过编辑.csproj文件来添加或者移除项目引用. 注意这里并没有智能提示, 最好是在Nuget网站(https://www.nuget.org/)搜索好相关包之后填写进来. 编辑结束之后, vs ...
- C#创建控制台项目引用Topshelf的方式,部署windows服务。
上一篇是直接创建windows service服务来处理需求.调试可能会麻烦一点.把里面的逻辑写好了.然后受大神指点,用Topshelf会更好一些. 来公司面试的时候问我,为什么要用stringbui ...
- 新建asp.net core项目
开发环境:Windows Server R2 2008 开发工具:Microsoft Visual Studio 2017 新建asp.net core项目 创建web项目时,务必选择“ASP.NET ...
- VisualStudioCode中用dotnet命令创建多个ASP.NET Core 项目、类库、控制台程序,并添加应用间的引用
一.准备工作 首先安装VisualStudioCode并且可以使用. 1.首先新创建空的MyApps文件夹,作为项目主目录,下面将在这个文件夹中创建多个web应用程序.类型.控制台程序等. 2.打开V ...
- .Net Core 项目中的包引用探索(使用VSCode)
本文组织有点乱,先说结论吧: 1 在 project.json 文件中声明包引用. 而不是像以前那样可以直接引用 dll. 2 使用 dotnet restore 命令后,nuget 会把声明的依赖项 ...
随机推荐
- MySQL 5.6/5.7 linux常见安装(tar,yum,script)
该文章总结一下MySQL的常见安装方式,以tar,yum,script 三种方式来演示: 一般的公司都会有自己统一的数据库安装规范和模板,在生产环境请按照自己的规范来安装和使用,这里只演示和测试,供需 ...
- JS比较实用的时间控件
使用方法: 下载下来压缩包,文件的地方不要改变,就可以了 http://www.my97.net/dp/down.asp html的代码: <input readonly="reado ...
- Linux学习笔记 -- 文本编辑器之 vi与vim
vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode). 这三种模式的 ...
- MMU段式映射(VA -> PA)过程分析
MMU:内存管理单元. CPU寻址的方式: 未使用MMU:CPU发出地址(PA) 直接内存寻址(SDRAM or DDRx). 使用MMU :CPU发出地址(VA) MMU接收CPU发来的地址 经过 ...
- C# 异常内存信息导出Dump文件
背景:很多情况下程序崩溃我们只能看到程序抛出来的异常信息,但是有时候异常信息不清不楚我们处理异常还是一头雾水,这种情况下我们就很希望能有种办法获取程序运行时的内存进行调试,查看其中的变量.参数.方法执 ...
- 将Maven项目打包成可执行 jar文件(引用第三方jar)
使用maven assembly插件完成打包 修改pom: <build> <pluginManagement> <plugins> <!--设置jdk版本, ...
- krpano之热点样式及文本
修改热点的样式只需要将热点引用的style样式替换即可. 动态样式代码: <style name="skin_hotspotstyle" url="zlqj_hot ...
- Table Tennis Game 2
Description Misha and Vanya have played several table tennis sets. Each set consists of several serv ...
- js 事件冒泡、事件捕获及事件委托
简介 事件冒泡:从触发事件的节点一直到document,自下而上的去触发事件. 事件捕获:从document到触发事件的节点,自上而下的去触发事件. 事件委托:事件委托就是利用事件冒泡,只指定一个事件 ...
- Mongoose 参考手册(转载)
Mongoose 是什么? 一般我们不直接用MongoDB的函数来操作MongoDB数据库 Mongose就是一套操作MongoDB数据库的接口. Schema 一种以文件形式存储的数据库模型骨架,无 ...