zoukankan      html  css  js  c++  java
  • Nuget(BagGet)使用教程

    Nuget(BagGet)使用教程

    1. 服务器安装ASP.NET Core

    网上有很多教程,不多讲,链接给你:https://www.cnblogs.com/Agui520/p/8331499.html

    只需要安装SDK和Runtime即可。安装成功在命令窗口界面输入命令“dotnet -v”便可看到下面内容。

    2. 部署BagGet环境

    接着我们就部署环境了。服务器当然要装IIS。这就不会废话了。
    安装教程:
    server2008:https://www.cnblogs.com/luckly-hf/p/4073657.html
    server2012:https://jingyan.baidu.com/article/90895e0ffb5c1764ec6b0bbb.html

    正题:

    • 添加应用程序池(BagGet是Core,所以应用程序池的托管模式为“无托管代码”)

    enter description here

    • 添加网站(Core的默认端口为5000,所以我们这边端口设置为5000,防火墙若是开启状态,请开放5000端口)

    enter description here

    enter description here

    3. 上传包

    上传包我们使用官方的上传工具 下载地址:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

    • 上传描述

      1. 我们下载下来打来软件。"Ctrl+N"创建新包
        enter description here

      2. 接着我们就是看到如下,需要我们填下包的描述
        enter description here
        enter description here
        我们来看下这些包描述
        必填(前面四项)

        • id:不区分大小写的包标识符,在 nuget.org 或包驻留的任意库中必须是唯一的。 ID 不得包含空格或对 URL 无效的字符,通常遵循 .NET 命名空间规则。

        • version:遵循 major.minor.patch 模式的包版本。 版本号可能包括预发布后缀,如包版本控制中所述。

        • description:用于 UI 显示的包的详细说明。

        • authors:作者。

        • title:明了易用的包标题,通常用在 UI 显示中,如 nuget.org 上和 Visual Studio 中包管理器上的那样。 如果未指定,则使用包 ID。

        • owners :包拥有者,使用 nuget.org 上的配置文件名称的包创建者的逗号分隔列表。

        • projectUrl:包的主页 URL,通常显示在 UI 中以及 nuget.org 中。

        • licenseUrl:许可证Url。

        • iconUrl: 64x64 透明背景图像的 URL,用作 UI 显示中包的图标。 请确保此元素包含直接图像 URL,而不是包含图像的网页的 URL。

        • requireLicenseAcceptance: 一个布尔值,用于指定客户端是否必须提示使用者接受包许可证后才可安装包。

        • developmentDependency:一个布尔值,用于指定包是否被标记为仅开发依赖项,从而防止包作为依赖项包含到其他包中。

        • summary 用于 UI 显示的包的简要说明。 如果省略,则使用 description 的截断版本。

        • releaseNotes: 此版本包中所作更改的说明,通常代替包说明用在 UI 中,如 Visual Studio 包管理器的“更新”选项卡。

        • copyright:包的版权详细信息。

        • language:包的区域设置 ID。

        • tags:以空格分隔的标记和关键字列表,描述包并通过搜索和筛选辅助包的可发现性。

        • serviceable: 可维护性,仅限内部使用。

        • minClientVersion: 指定可安装此包的最低 NuGet 客户端版本,并由 nuget.exe 和 Visual Studio 程序包管理器强制实施。

        • dependencies:零个或多个 元素的集合,用来指定包的依赖项。 每个 dependency 都具有 id、version、include (3.x+) 和 exclude (3.x+) 特性。(点击进去可看到下图,再点击下图红框进入下下图,可根据包源地址进行筛选)

        • frameworkAssemblies : 零个或多个 元素的集合,用来标识此包要求的 .NET Framework 程序集引用,从而确保引用添加到使用该包的项目。

      目前经常用的差不多这些 填写完毕就可以看到下面内容

    • 添加要上传的内容

      在工具的右边右击就可以添加给各类东西
      enter description here

      • build:输出到bin目录
      • content:原样拷贝
      • lib:添加引用
      • src:源码拷贝
      • tools:工具?

      enter description here

      ps:上图可以看下lib的引用的dll信息,这些信息可在vs里面进行设置,包括强签名等。

      enter description here

    • 上传流程

      全部工作准备好了,选择菜单“File”,savesavsAs是保存到本地,我们选择publish
      ps:上传需要注册,并拿到key。注册教程(这篇文章内容只关注如何获取key):https://blog.csdn.net/wangwenru6688/article/details/50276405

      enter description here
      上传成功后,我们就可以在我们BagGet的web看到我们上传好的包了。

      enter description here
      这样,我们就将nuget包上传到我们自己的服务器了。(同个包不同版本的id应该是一样的
      enter description here

    4. 项目引用包

    接下来,我们要怎么去引用这样些nuget包呢?

    1. 首先要先添加我们自己服务器的nuget包源。
      工具=>选项=>nuget包管理器=>程序包源=>新增一条(http://192.168.101.188:5000/v3/index.json)=>点击更新
      enter description here

    2. 选中要引用包的项目(类库)进入nuget包管理器(怎么进的,就不解释了,自己百度去)。就可以看到我们上传的包,按照平常那样引用或者更新就可以了。(**当然你熟悉引用命令也可以直接用命令引用(原本命令与core命令都可以用),具体就不解释了,附上教程:https://www.cnblogs.com/zhaogaojian/p/8398531.html

      enter description here

    3. 我们看下我们引用的包会在哪?

      1. 首先dll肯定在引用里面了

      2. 作为content原样复制,它是在根目录了

      3. 其他的我发现都在我们项目目录底下的“packages”的相对应的目录底下

    5. 删除包

    ps:若是我们上传同样的包或是怎么样的呢?这边会报409的状态异常的错误包,上传工具并不会提醒你上传失败,或者已有此包。

    所以我们若是要重新上传或更新已有的版本,或者上传错误,想要删除肯定要删除我们已经上传的包。但是我发现大佬只做了接口,并没有集成在页面,页面是用来node.js和React,表示是个前端渣,但不懂,不懂得修改,所以就自己做了个winform来删除包源。

    但是要注意下,这边大佬是分软删除硬删除的,软删除只是网页看不见了,但其实你知道包id还是同样可以引用,更坑的是,软删除,nuget管理器还是可以看到你的包。硬删除就是大家所理解的将包真的删除掉了。
    那么如何开启呢,BagGet采用的是Core,所以配置项并不是在Web.config中,而是appsettings.json,只需要在配置加上这句话,就成了硬删除了,若是要软删除,就去掉这句话。

    "PackageDeletionBehavior":"HardDelete" ,

    那附上我自己写的删除winform吧。

    链接: https://pan.baidu.com/s/1bLQ_GTh92wr0Vt9z7JhsPQ 提取码:
    db69

    截图

    1. 先填好BagGet的服务器,只需要修改ip即可,再填好NuGetKey,当然你要是想保存在程序里,可以选择保存
      enter description here

    2. 接着刷新,下面的树就会刷新出来,你的nuget服务器上的程序包,以及版本
      enter description here

    3. 选中版本,选中包的信息与要删除的版本就会出现右边,然后点击删除就可以了。
      enter description here

    enter description here

  • 相关阅读:
    1093 Count PAT's(25 分)
    1089 Insert or Merge(25 分)
    1088 Rational Arithmetic(20 分)
    1081 Rational Sum(20 分)
    1069 The Black Hole of Numbers(20 分)
    1059 Prime Factors(25 分)
    1050 String Subtraction (20)
    根据生日计算员工年龄
    动态获取当前日期和时间
    对计数结果进行4舍5入
  • 原文地址:https://www.cnblogs.com/xuhuale/p/10056403.html
Copyright © 2011-2022 走看看