Nuget

我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目,

而不知道我们的dll是否安全?

当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nuget,Nuget可以

让我们把我们做出来的东西发在网上让别人下载,需要搜索名称就可以下载,然后更新会通知

本文主要讲我们如何制作一个库上传Nuget,让别人可以使用,做法很简单,先下载软件后制作,上传。

下载

首先下载

nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe

如果没法下载和我说,我发给你

然后下载一个工具https://docs.nuget.org/Create/using-a-gui-to-build-packages,下载后运行

我们把Nuget.exe放在Path,当然不知道Path,就放在我们要打包的工程文件夹

打包Nuget

我们用MSBuild命令进入项目文件夹,如果找不到MsBuild就用cmd

项目文件夹就是我们要打包项目*.csproj所在文件夹

我的工程文件smms,打开smms.csproj所在文件夹A:\smms\smms

进入文件夹命令

首先进入盘,我是在A盘,


a:

然后进入文件夹


cd smms/smms

我们打包

首先

nuget spec

smms.nuspec 这个可以用文本打开,里面会自动替换

里面有


<?xml version="1.0"?>

<package >

  <metadata>

    <id>$id$</id>

    <version>$version$</version>

    <title>$title$</title>

    <authors>$author$</authors>

    <owners>$author$</owners>

    <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>

    <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>

    <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>

    <requireLicenseAcceptance>false</requireLicenseAcceptance>

    <description>$description$</description>

    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>

    <copyright>Copyright 2016</copyright>

    <tags>Tag1 Tag2</tags>

  </metadata>

</package>
  • id

    包的ID:必须的唯一的ID,格式和C#命名空间规范相同,在你发布包的时候会去验证唯一性。

  • version

    版本号:必须的三段式的版本号,注意每次发布必须大于上一次的版本号,否则将会被nuget驳回。

  • title

    标题:非必需的,通常你可以让它和ID保持一致,但是这不是强制的。

  • authors

    作者(s):必须的项目,以逗号分隔作者列表。

  • owners

    拥有者:你可以随便写,但是在发布的时候会被你的nuget帐户名替代。

  • 最低客户端版本:描述这个包限制的最低nuget客户端版本。

  • iconUrl

    一个32*32像素的.png文件地址,作为最终在nuget中显示的图标

  • 描述、标签、许可地址、项目地址

  • Dependencies

    我们发的依赖其他程序,那就写他,具体怎么我还不知,我就放空,不管,好像写的要在NuGet服务器上能找到,否则无法完成自动引用添加

我们可以在vs,Properties打开,写上我们名字和说明

把全部写后生成

其中他会把$$代为AssemblyInfo.cs

作者代为AssemblyCompany

id代为Assembly名

version代为AssemblyVersion

description代为AssemblyDescription

做完我们文本打开 *.nuspec

改releaseNotes、tags

如果没有修改,我们打包 nuget pack *.csproj


问题: 删除示例 nuspec 值。

说明: Tags 的值“Tag1 Tag2”是示例值,应将其删除。

解决方案: 请替换为适当的值或删除它,然后重新生成程序包。

问题: 删除示例 nuspec 值。

说明: ReleaseNotes 的值“Summary of changes made in this release of the package.”是示例值,应将其删除。

解决方案: 请替换为适当的值或删除它,然后重新生成程序包。

把我们信息写后打包


nuget pack smms.csproj

我们就把我们项目打包,接着我们看到文件夹有*.nupkg

修改项目地址

上传

首先有一个微软账号,登录 https://www.nuget.org

点击自己 https://www.nuget.org/account

复制,这个key是我的,你的应该和我不同

刚才复制的

发布

我们可以在https://www.nuget.org/account/Packages

我们上传包,如果还要上传,我们的version要比之前大

我们在

搜索不到,不过我们还是上传了

安装

Install-Package ID

安装完搜索就可以搜索到

参见:http://www.cnblogs.com/xiaoyaojian/p/4199735.html

命令行使用Nuget

参见:https://docs.nuget.org/consume/command-line-reference


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

win10 uwp 上传Nuget 让别人用我们的库的更多相关文章

  1. win10 uwp 如何打包Nuget给其他人

    原文:win10 uwp 如何打包Nuget给其他人 本文告诉大家,如果自己有做一些好用的库,如何使用 Nuget 打包之后上传,分享给大家. 首先需要知道一些 Nuget 打包需要知道的,请看 wi ...

  2. 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)

    前言 nuget 是 .net 的常用包管理器,目前已经内置到 Visual Studio 2012 以后的版本.大多数 .net 包都托管在 nuget.org,包括 .net core 框架基础包 ...

  3. 上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端

    文件操作应用场景: 如果你的.NET项目是运行在SharePoint服务器上的,你可以直接使用SharePoint服务器端对象模型,用SPFileCollection.Add方法 http://msd ...

  4. 使用 dotnet cli 命令上传 nuget 程序包

    前言 前面写了一篇文章介绍了如何将自己的程序集打包成nuget package并上传到nuget.org,传送门.全部是通过网页端来进行操作的,现在介绍一种比较方便快捷的方法就是用dotnet cli ...

  5. 使用nuget 打包并上传 nuget.org

    一. 准备工作 1 下载  Download NuGet.exe 2  windows 系统下设置环境变量 path中 或者 在dos 命令窗口下转到 nuget.exe 所在目录 3 在www.nu ...

  6. 【原创】使用批处理脚本自动生成并上传NuGet包

    Hello 大家好,我是TANZAME,我们又见面了. NuGet 是什么这里就不再重复啰嗦,园子里一搜一大把.今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过批处理脚本生成包并自 ...

  7. 手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行

    新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...

  8. 使用Github Packages功能上传nuget包到Github

    前几天微软收购npm的新闻对于软粉来收很是振奋.微软收购npm很可能是为了加强Github Packages.目前Github,Typescript,VSCode,npm这些开源社区的重磅工具全部都在 ...

  9. github上传文件让别人下载--xdd

    一.可以下载的条件 仓库要为公开(public) 该文件不可预览或者是图片,如.rar  .gif .png .doc .pdf 等格式 二.打开文件的预览界面,如下 三.将最上面的地址复制给别人即可 ...

随机推荐

  1. 201521123076 《Java程序设计》第6周学习总结

    1.本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面 ...

  2. 201521123068《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 查看脑图->多态与接口 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 1.代码阅读:Child压缩包内源 ...

  3. 201521123039 《java程序设计》第九周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? ...

  4. 201521123026《JAVA程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...

  5. Oracle-SQL-按月统计自助终端交易量

    SQL实现的目标: 基本情况 现金交易情况 转账情况 转账交易情况(明细) 其它业务情况 交易量汇总 日均交易量 交易金额 绩效情况(万元) 支行名 支行号 所属网点 网点号 管理员帐户 管理员 终端 ...

  6. JavaWeb学习之JDBC API中常用的接口和类

    JDBC API中包含四个常用的接口和一个类分别是: 1.Connection接口 2.Statement接口 3.PreparedStatement接口 4.ResultSet接口 5.Driver ...

  7. nodejs 初次链接 mongodb 的详细细节

    时间  2016-06-2613:05:16 在前端的学习也有一段时间了,学习了html,css,javascript,jqery,ajax,php,mysql,学习了这些,了解了一些皮毛,也没有什么 ...

  8. 全面了解Android热修复技术

    WeTest 导读 本文探讨了Android热修复技术的发展脉络,现状及其未来. 热修复技术概述 热修复技术在近年来飞速发展,尤其是在InstantRun方案推出之后,各种热修复技术竞相涌现.国内大部 ...

  9. Cookie实现登录记住密码

    Cookie实现记住登录密码,用户可以自由选择是否记住密码,或者用户之前选择记住了,但是某一次又不想记住了,需要将之前对应的Cookie删除掉 Cookie相当于map 也是键值对的形式,但是并不相同 ...

  10. 代码与编程(java基础)

    代码与编程(面试与笔试java) 1.写一个Singleton出来 Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 一般Singleton模式通常有几种种 ...