背景:

为了开始ITOO项目,我们先学习了一些基本知识,这些就是一个基本知识,这实现的是一种封装的思想,将方法打包,这样我们就可以在其他系统中直接引用而需要再耗费人力和财力去做,真正实现了高效率的开发。

步骤

1、在https://www.nuget.org/
网站中,注册一个新的账号,然后在My Account页面获取API Key

2、下载Nuget.exe,下载地址:http://nuget.codeplex.com/downloads/get/669083

这个软件很小,可以直接安装,为了本机使用方便,将Nuget.exe的路径添加到机器的环境变量中的path,我的路径为D:\最后安装包\工具

3、在Nuget官网找到自己的API Key,然后执行命令

     Nuget  setApiKey d204a7ea-30fe-479f-ad9d-d3ef8b2b3388



 

4、开发自己的类库

     打开所建项目的AssemblyInfo.cs文件,设置assembly的属性及版本,我们指定目前的版本是1.0.0.0

5、生成并修改nuspec文件

    nuspec是Nuget将项目打包生成的nupkg的输入文件。在生成之前需要先进入ITOO.BasicSystemSettings.DAL.csproj所在的文件夹,然后执行nuget spec

用记事本打开ITOO.BasicSystemSettings.DAL.nuspec文件,把需要替换的信息替换掉,不需要的tag去掉,注意$###$,这些是在AsseblyInfo.cs中的设置值,可以在AssemblyInfo中修改,也可以在nuspec文件中修改。

<?xml version="1.0"?>
<package >
<metadata>
<id>ITOO.BasicSystemSettings.BLL</id>
<version>1.0.0.0</version>
<title>ITOO.BasicSystemSettings.BLL</title>
<authors>TGB</authors>
<owners>TGB</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>用于测试</description>
<copyright>Copyright 2015</copyright>
</metadata>
</package>

6、生成类库包

    nuget pack ITOO.BasicSystemSettings.BLL.csproj



 

7、发布类库包

     nuget push ITOO.BasicSystemSettings.BLL.1.0.0.0.nupkg

         


 

8、测试自己发布的类库包

点击下载,直接安装就可以在引用中看到

9、更新类库

    重新执行第六和第七步,其中第六步之前将ITOO.BasicSystemSettings.BLL.nuspec中的版本换成1.0.0.1,重新生成nupkg

     



  

     这样就大功告成了,其中遇到了很多错误,因为自己选错了项目,项目中有错误,所以生成不了bin文件,这个可以打开项目,重新生成解决方案,如果还不行,肯定是代码中有错误,这个生成的类库包的前提要求代码一定不能有错。

总结

多番尝试之后,终于成功,其中有很多问题,提示也大多是英文,但当你仔细去看的时候你会发现有很多问题你是能够看懂的,只要我们塌下心来,这也能够看出来英语的进步,小小的自己在不断长大。

使用Nuget生成类库的更多相关文章

  1. 使用nuget打包类库并发布

    前言 NuGet 是免费.开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库.今天的目的就是记录一下如何打包一个类库,并发布到官网.在开始之前需要在www.nuget. ...

  2. 使用 Nuget打包类库

    使用 Nuget打包类库 NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget ...

  3. 生成类库项目时同时生成的pdb文件是什么东东?

    英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配置进行增量链接.Release 里的PDB是p ...

  4. .NET Core 系列5 :使用 Nuget打包类库

    NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系, ...

  5. Nuget打包类库及引用

    什么是nuget 适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建.共享和使用有用的代码. 通常,此类代码捆绑到"包"中,其中包含编译的代码(如 DL ...

  6. 利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验

    前期准备 引入phpqrcode类库(下载地址:https://sourceforge.net/projects/phpqrcode/) PHP开启GD扩展库支持 1.利用phpqrcode生成二维码 ...

  7. .NET Core 控制台项目中的Nuget打包类库及引用

    由于使用的是MAC版本的VSCode,所以全部是通过dotnet命令来完成的. 1.dotnet new lib 创建类库项目: 2.编辑项目根目录下的.csproj文件,添加版本号(建议): < ...

  8. 项目中如何使用NuGet添加类库

    在项目上右键-->Manage NuGet Packages Browse  可以去搜索想要添加到项目的类库 Installed  已经添加到项目的类库 Updates   需要更新的类库

  9. 利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报(二)

    前期准备 引入phpqrcode类库(下载地址:https://download.csdn.net/download/weixin_37557729/11891240:支持彩色二维码的下载地址:htt ...

随机推荐

  1. docker笔记1--了解docker

    1 docker是什么 (1)背景 docker是基于go语言实现的开源容器项目.目标是实现"build ship and run any app,anywhere",通过对应用的 ...

  2. csu 1987: 绚丽的手链

    1987: 绚丽的手链 Submit Page   Summary   Time Limit: 6 Sec     Memory Limit: 512 Mb     Submitted: 13     ...

  3. php_mvc实现步骤五

    5.match_controller 控制器层典型实现 控制器类 依据功能的相关性,将一系列相关的功能,使用一个控制器类来处理,而该控制器的每个方法,就对因某个功能. 注意:控制器是按照功能划分的.( ...

  4. 在ensp上的ARP及Proxy ARP

    啥是ARP?啥又是Proxy ARP? ARP是用来将 IP 地址解析为 MAC 地址的协议. ARP 表项可以分为动态和静态两种类型.动态 ARP ,是利用 ARP 广播报文,动态执行并自动进行 I ...

  5. centos发布 7.7.1908版本了,怎么把老版本更新到新版本了?

    CENTOS升级 7.6 升级到7.7.1908 0.查看目前版本 cat /etc/issue cat /etc/redhat-release 1.下载系统镜像文件 https://www.cent ...

  6. Django框架深入了解_04(DRF之url控制、解析器、响应器、版本控制、分页)

    一.url控制 基本路由写法:最常用 from django.conf.urls import url from django.contrib import admin from app01 impo ...

  7. MySQL直方图

    MySQL8.0开始支持索引之外的数据分布统计信息可选项 我们知道,在DB中,优化器负责将SQL转换为很多个不同的执行计划,完了从中选择一个最优的来实际执行.但是有时候优化器选择的最终计划有可能随着D ...

  8. fastjson框架如何处理boolean?CURRENT_TIMESTAMP使用报错?什么是 ONLINE DDL 及 pt-online-schema-change ? getBytes引起的乱码问题?

    一.使用fastjson框架进行序列化时,若莫个参数为Boolean类型,而json里的值是其它类型时,框架如何处理? 1.true, false,正常赋值2.int类型,若为1,则为true,否则为 ...

  9. FreeMarker 教程整理

    Freemarker新手教程 http://blog.csdn.net/qq_23994787/article/details/77506980   FreeMarker教程整理 http://blo ...

  10. Python接口自动化基础---get请求

    1.没有参数的get请求 import requests r=requests.get('http://docs.python-requests.org/zh_CN/latest/user/quick ...