2018-2-13-win10-uwp-上传Nuget-让别人用我们的库
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
win10 uwp 上传Nuget 让别人用我们的库
|
lindexi
|
2018-2-13 17:23:3 +0800
|
2018-2-13 17:23:3 +0800
|
Win10 UWP
|
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
[.Net] 手把手带你将自己打造的类库丢到 NuGet 上 - 反骨仔(二五仔) - 博客园
还可以使用比较快的镜像 NuGet镜像上线试运行 - 博客园团队 - 博客园
2018-2-13-win10-uwp-上传Nuget-让别人用我们的库的更多相关文章
- win10 uwp 上传Nuget 让别人用我们的库
Nuget 我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nu ...
- win10 uwp 如何打包Nuget给其他人
原文:win10 uwp 如何打包Nuget给其他人 本文告诉大家,如果自己有做一些好用的库,如何使用 Nuget 打包之后上传,分享给大家. 首先需要知道一些 Nuget 打包需要知道的,请看 wi ...
- 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)
前言 nuget 是 .net 的常用包管理器,目前已经内置到 Visual Studio 2012 以后的版本.大多数 .net 包都托管在 nuget.org,包括 .net core 框架基础包 ...
- 上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端
文件操作应用场景: 如果你的.NET项目是运行在SharePoint服务器上的,你可以直接使用SharePoint服务器端对象模型,用SPFileCollection.Add方法 http://msd ...
- django 学习-13 Django文件上传
1..vim blog/views.py from django import formsfrom django.http import HttpResponse 1 2 from dja ...
- 使用 dotnet cli 命令上传 nuget 程序包
前言 前面写了一篇文章介绍了如何将自己的程序集打包成nuget package并上传到nuget.org,传送门.全部是通过网页端来进行操作的,现在介绍一种比较方便快捷的方法就是用dotnet cli ...
- 使用nuget 打包并上传 nuget.org
一. 准备工作 1 下载 Download NuGet.exe 2 windows 系统下设置环境变量 path中 或者 在dos 命令窗口下转到 nuget.exe 所在目录 3 在www.nu ...
- 【原创】使用批处理脚本自动生成并上传NuGet包
Hello 大家好,我是TANZAME,我们又见面了. NuGet 是什么这里就不再重复啰嗦,园子里一搜一大把.今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过批处理脚本生成包并自 ...
- 手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行
新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...
- 使用Github Packages功能上传nuget包到Github
前几天微软收购npm的新闻对于软粉来收很是振奋.微软收购npm很可能是为了加强Github Packages.目前Github,Typescript,VSCode,npm这些开源社区的重磅工具全部都在 ...
随机推荐
- 【Java多线程系列随笔一】浅析 Java Thread.join()
一.在研究join的用法之前,先明确两件事情. 1.join方法定义在Thread类中,则调用者必须是一个线程, 例如: Thread t = new CustomThread(); //这里一般是自 ...
- JS中的事件、数组、节点对象处理
在JS代码中编写事件一定要保证页面在浏览器中加载时会把事件加载进页面 事件:在代码中可以通过一个动作来触发另一个行为的总称 A:事件的编写方式1 HTML标签中添加 onxxxx = "函数 ...
- Kettle 中的循环
说道循环,小伙伴们肯定不陌生,就是重复干一件事:而kettle中的循环一般是发生在job中,因为job是串行执行的: kettle的循环有两种,一种是通过js脚本,另外一种是通过遍历前面步骤返回的每一 ...
- 制作一个自己的xhprof测试平台
1 1.首先安装php开发环境,比如lnmp. 2.安装xhprof ps: 记住从github上面下载(https://github.com/phacility/xhprof), 不要从pecl.p ...
- docker 常用
docker 163仓库 # 更换docker源163 vim /etc/docker/daemon.json { "registry-mirrors": ["http: ...
- PC端写的API接口和手机端APP联合调试
一.遇到问题的情况:项目框架:asp.net MVC5 ,写的给手机端调用的API接口. 二.自己在本地 IIS上部署项目,在手机端的请求服务器上把地址和端口换上本地部署的,如图所示 三.用管理员的身 ...
- 笔记38 Spring Web Flow——订单流程(定义基本流程)
做一个在线的披萨订购应用 实际上,订购披萨的过程可以很好地定义在一个流程中.我们首先从 构建一个高层次的流程开始,它定义了订购披萨的整体过程.接下 来,我们会将这个流程拆分成子流程,这些子流程在较低的 ...
- nodejs MYSQL数据库执行多表查询
1.设计数据库 2.设计数据库表 genres表: books表: 3.安装MySQL模块 4. 代码编写 (1) 第一种方法: 在query中使用nextTables属性,将属性值设置为ture d ...
- Job 和 Cronjob 的使用
Job负责处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束.而CronJob则就是在Job上加上了时间调度. Job 我们用Job这个资源对象来创建一个任务,我们定一个Job来 ...
- javascript--判断语句
1.if...else.. if(m===1){ console.log('1') }else{ console.log('X') } 一般if 里面采用类型全等的运算符. 2.switch var ...