一:Nuget控制台有几个常用命令

  Get-Package 获取当前项目已经安装的类库

  Install-Package 安装指定类库,命令格式如下:Install-Package 类库ID,示例:PM> Install-Package cyqdata

(这里需要注意的是类库的ID是唯一的,指向命令后会自动搜索指定类库源里指定ID类库,若找到则自动下载并添加引用,找不到则会出现找不到类库的提示)

  Uninstall-Package 卸载指定类库,命令格式如下:Uninstall-Package 类库ID,如Uninstall-Package Newtonsoft.Json

  Update-Package 更新指定类库,命令格式如下:Update-Package 类库ID,如Update-Package Newtonsoft.Json

二:发布自己的dll到Nuget

NuGet可以使用NuGet.exe在命令行下进行类库打包,也可以使用图形化界面进行打包,估计很多朋友都和我一样对不熟悉的命令行有些感冒,所以在此仅讲述下使用图形化界面进行类库打包

  1. 首先下载 包包管理器 NuGetPackageExplorer,顾名思义,包包管理器可以用来创建新的类库包,也可以浏览已经创建好的类库包

  2. 下载完成后,双击 NuGetPackageExplorer.application 进行安装,安装完成后会在桌面上生成一个NuGet Package Explorer 的快捷方式

  3. 双击NuGet Package Explorer出现启动界面,选择Create a new package(Ctrl+N)创建一个新包

  4. 选择菜单 Edit > Edit Package Metadata (或者 CTRL + K) 编辑包包信息

  这里可以编辑类库包的信息和添加类库、程序集的引用解释下几个比较重要的字段

  Id:用于定位类库包的唯一标示,如在命令行下执行 Install-Package MyPackage 这里的MyPackage就是包包的Id值

  Version:类库的版本号,这里建议和程序集的真实版本号保持一致,以免发生混淆

  Dependencies:此类库依赖的程序集,根据实际情况添加依赖类库的Id和版本号,若无留空即可,这里需要注意下填写的依赖类库需要在NuGet服务器上能找到,否则无法完成自动引用添加

  Framework assemblies:依赖的Framework 程序集,根据实际需要选择即可,一般无需设置

  除以上四项以外其他属性根据实际情况修改即可,若自己用不修改也中,不过为了使用方便还是建议把类库描述(Description)填写下

  5. 编辑好包包信息后接下来添加DLL到包包中

  可以选择 右键-->Add Existinng File... 选择dll添加,也可以直接拖拽DLL到 Package contents 窗口,此例选择拖拽方式

  直接拖拽dll到窗口后,会出现提示:是否将 Winista.HtmlParser.dll放到lib 文件夹下,一般我们选择是

  6. DLL添加完成后,快捷键Ctrl + K 修改包包信息Id为Winista.HtmlParser,版本号为1.8.0

  7. 信息修改和dll都添加完毕后,选择File --> Save(或Ctrl + S)将文件进行保存,默认文件名为Id + 版本号.nupkg

  8. 完成保存后如需要发布到网上,选择File--> Publish...(或Ctrl + P)

  默认的发布地址是官网,发布 Key需要到官网去注册一个账号,然后就可以得到,这里不在复述,若无需发布直接关闭即可

  ps:这里没有讲述如何打包项目文件,一般情况下我们自己将项目文件编译成DLL然后使用图形化界面打包即可满足需求,若实际工作需要高度集成完全自动化操作可自行去研究下官方文档http://docs.nuget.org/

  添加DLL默认会添加Lib文件夹,额外的菜单上还有很多.net文件夹,src等文件夹,这些文件夹只是对文件上的一个物理上的划分而已,只是为了帮助我们做好文件分类,没有其他的用途,dll文件可以随便放置,不过为了规范还是建议按照通常习惯来放置。

三 :建设Nuget服务器

1. 新建Web站点,选择 文件-->新建项目-->Asp.Net 空 Web应用程序

  2. 选择 工具-->Library Package Manager-->Package Manager Console 打开NuGet命令行控制台

  3. 在控制台输入Install-Package NuGet.Server (请保持Package source:官方源,即 Nuget offical package source,一般默认即为官方Package源)

  4. 回车确认后开始下载并安装NuGet.Server类库及相关引用,并自动添加引用到项目

  注:具体输出根据版本不同会略有不同

  自动添加的引用

  5. 在控制台输入 Get-Package 可以看到刚刚安装的类库

  6. 除添加类库引用外,还自动添加了一些文件(关于这些文件及其作用本文不做探讨,有兴趣的可以自行研究下,都很简单)

  /App_Readme/

  /App_Readme/Elmah.txt

  /DataServices/

  /DataServices/Packages.svc

  /DataServices/Routes.cs

  /Packages/

  /Packages/Readme.txt

  /Default.aspx

  /favicon.ico

  /packages.config

  同时Web.config也被修改,添加了一些配置项

  7. 至此NuGet.Server站点已经创建完毕,恩,你没有看错,就是这么简单,接下来部署到本地或IIS站点即可使用了

  发布站点到IIS

  1. 发布网站到本地

  2. IIS里面建立站点www.mynuget.com,主机头www.mynuget.com,应用程序池为.Net4.0集成模式,目录指向站点发布的目录

  3. 设置hosts 将www.mynuget.com执向本机

  4. 设置好hosts后,重新打开浏览器输入网址:http://www.mynuget.com/

  5. 查看已经发布的类库包 http://www.mynuget.com/nuget/Packages (可以把已经打好包的类库放到网站下的Packages文件夹下即可)

  添加本地站点到包包数据源

  1. 选择 工具-->Library Package Manager-->Package Manager Settings

  2. 输入名称 MyNuGetServer及包包源地址 http://www.mynuget.com/nuget 点击Add完成源添加

  7. 查看刚刚添加的类库源 工具-->Library Package Manager-->Manager NuGet Packages for Solution... 点击刚添加的源MyNuGetServer可以看到我们放到站点下的类库包,选中需要的包包点击 Install完成安装

  8. 也可以在控制台下安装,将类库源执行我们建立的源 MyNuGetServer,控制台下输入Install-Package Winista.HtmlParser完成安装

  现在我们已经成功的搭建了自己的NuGet服务器。

  注意点:

  1. NuGet包包是放置在站点根目录下面的Packages文件夹下,如需要改变可以在配置文件packagesPath中进行设置,可以设置为相对目录或者物理目录

<appSettings>
<!-- Change the path to the packages folder. Default is ~/Packages. This can be a virtual or physical path. -->
<add key="packagesPath" value="" />
</appSettings>

  2. 如何管理我们的包包,可以根据需要自行写个上传下载的文件管理功能,需要时上传到Packages文件下,不需要了删除即可,也可以像我一样写了个FTP服务,使用ftp上传下载

  3. 最好是为NuGet单独建立个站点这样管理着方便,若不方便建立独立站点可以随便找个现有的web站点,在里面安装NuGet.Server然后发布即可

使用NUget发布自己的dll(转)的更多相关文章

  1. 使用NUget发布自己的dll

    一:Nuget控制台有几个常用命令 Get-Package 获取当前项目已经安装的类库 Install-Package 安装指定类库,命令格式如下:Install-Package 类库ID,示例:PM ...

  2. Nuget发布自己的DLL

          首先说明背景,在asp.net core开发中,使用了Oracle,Oracle官方发布了一个新的sdk用于连接数据库,但是asp.net core有个特性,就是不支持直接引用dll,也就 ...

  3. [经验分享]NuGet发布自己的Dll(类库包)

    什么是Nuget Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中 ...

  4. 使用NuGet发布自己的.NET NuGet 包( .NET Standard & Windows)

    发布自己的nuget包 STEP 1:获取API Key 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,或者是自建服务器上生成一个API Key( ...

  5. NuGet 发布

    其实吧,我并没有用到nuget发布,但是在做项目的过程中,我需要别的系统给我接口,所有吧,人家就发 布了了一个nuget程序集,而我呢,就引用了一下,然后就可以用了,又不吧,本人小编好奇心比较重,所以 ...

  6. [Visual Studio] NuGet发布自定义包(Library Package)

    源文章:dax.net http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html 使用NuGet发布自己的类库包(Library Pa ...

  7. 示例:在Nuget发布自己的包的步骤

    原文:示例:在Nuget发布自己的包的步骤 一.目的:很多时候都在用第三方的Nuget包,现成的轮子可以减少很多工作量,同时我们也可以造轮子供自己和其他人使用,本示例主要演示如何发布dll到Nuget ...

  8. 使用NuGet发布自己的类库包(Library Package)

    STEP 1:注册并获取API Key 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了. STEP 2:下载NuGe ...

  9. Nuget的使用笔记-(使用nuget发布dll到www.nuget.org)

    Nuget是神马东东? 来自nuget.org官方的介绍 ----------------------------------------------------------------------- ...

随机推荐

  1. mongodb C# 驱动查询

    INoSqlProvider provider = NoSqlManager.Create("CloudTable"); IMongoCollection<FormMongo ...

  2. git入门及上传项目到github

    Git入门:       如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),我们此时应该有两个仓库,就是两个放代码 ...

  3. 【海洋女神原创】知识普及:IS版本命名规则和高低关系

    经常有朋友对IS的版本命名不甚了解,有时候在交流的时候就会造成误会,在这里做一下普及. IS最早出名的版本是IS6.22,这是个非常古老的版本的,但是在IS历史上有不可磨灭的贡献. 之后很长一段时间内 ...

  4. mysql 数据库基本概念

    mysql 数据库基本概念 一.数据库的集中控制优点1.降低存储数据的冗余度2.更高的数据一致性3.存储的数据可以共享4.可以建立数据库所遵循的标准5.便于数据维护完整性6.能够实现数据的安全性 二. ...

  5. 如何解决 win10连了VPN怎么上外网

    当前用户配置%AppData%\Microsoft\Network\Connections\Pbk与所有用户共享配置%ProgramData%\Microsoft\Network\Connection ...

  6. eclipse修改web项目部署路径

    Eclipse中用Tomcat发布的Web项目,更改其部署路径 我的Eclipse的工作目录是D:/workspace 先配置Tomcat 选择你的tomcat版本 点击next 这里先不要把项目添加 ...

  7. 多模块打包后,扫描不到@controller和@service,实现 ADD DIRECTORY ENTRIES

    多模块打包后,扫描不到@controller和@service等Bean. 原因:打包时没有生成目录信息 解决办法: 1.在eclipse或者myeclipse 打包时 勾选 ADD DIRECTOR ...

  8. SDWebImage

    SDWebImage 加载图片的流程 入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImag ...

  9. 【引】objective-c,5:Associated Objects 的原理

    参考博客: http://blog.leichunfeng.com/blog/2015/06/26/objective-c-associated-objects-implementation-prin ...

  10. CentOS7 安装 net-speeder 提升 VPS 网络性能

    参考:http://blog.csdn.net/u010027419/article/details/46129639 1.安装依赖库 先安装epel源 rpm -Uvh http://dl.fedo ...