zoukankan      html  css  js  c++  java
  • 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:smmssmms

    进入文件夹命令

    首先进入盘,我是在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镜像上线试运行 - 博客园团队 - 博客园

  • 相关阅读:
    剑指Offer:数组中的逆序对
    Java高并发教程:Java NIO简介
    Java高并发教程:高并发IO的底层原理
    算法相关——Java排序算法之希尔排序(五)
    Materialized View模式
    Java技术——Java中的static关键字解析
    算法相关——Java排序算法之插入排序(四)
    Android Studio 2.2新增布局——ConstraintLayout完全解析
    公平锁与非公平锁
    Java线程和多线程(十五)——线程的活性
  • 原文地址:https://www.cnblogs.com/lindexi/p/12085852.html
Copyright © 2011-2022 走看看