基于 .Net Core 的组件 Nuget 包制作 amp; 发布

微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 Nuget 包和发布。

之前 .Net Framework 程序集打包 Nuget 有以下方法:

1. 使用命令  nuget pack  详见博客园的一篇博文 《用命令行工具创建 Nuget 程序包》;

2. 使用 NuGet Package Explorer;

3. vs 插件 NuBuild Project System。

这其中第 3 种方法是最好用的,可以直接在 vs 中制作 Nuget 包,然后用方法 2 校验生成的 Nuget 包对不对或者微调发布,亦可以用 nuget 命令进行包的推送。

下面说 .Net Core 组件的打包

微软既然所有的 .Net Core 组件均有 Nuget 去管理,那它肯定会出一个打包工具或者命令,没错下面就开始说一下  dotnet pack  命令。

想必大家之前肯定用过 dotnet 相关的命令,那今天说一下它的打包命令 dotnet pack 这里的打包就是打成 nuget 包。

包生成

  执行命令 dotnet pack --help 看一下有啥子参数。

  

  -h 不用说了就是查看帮助;

  -o 指定生成的nuget包要输出到那个目录下;

  --no-build 打包时不要编译项目;

  -b 项目编译时的临时输入目录;

  -c 配置使用 Debug 模式还是 Release 模式(默认为 Debug);

  -version-suffix 如果 project.json 中的项目版本以 * 结尾,这个参数可以指定参数将 * 替换掉;

  -s 指定是否仅供内部 nuget 使用。

以下是简单示例:

1. project.json 文件目录下执行命令: dotnet pack -c Release -o Nugets 

2. 非 project.json 文件目录下执行命令:

 dotnet pack -c Release -o Nugets src\Wlitsoft.Framework.Common.Abstractions\project.json 

打包后会生成两个文件

    Wlitsoft.Framework.Common.Abstractions.0.1.1-Beta.nupkg

    Wlitsoft.Framework.Common.Abstractions.0.1.1-Beta.symbols.nupkg

第一个文件是 Nuget 包文件,第二个是包括源码的 Nuget 包文件。

命名规则为:项目文件夹名称 + 版本号(project.json 内指定的 version),没有搞明白怎么修改默认的命名生成规则。

注意:版本号后缀带 - xxx 标示预发行版本。

包检查

包已经生成成功了那咱用 NuGet Package Explorer 打开看眼生成的对不对,当然亦可用压缩文件软件将 nupkg 文件打开查看 nuget 包的描述文件。

 

包上传

如果是开源项目的话,包可以上传到 Nuget 官方服务器,如果是公司内部私有项目的话那就上传到内部是私有 Nuget 服务器或者文件共享服务器中(Nuget 源支持文件共享源)。

1. 在 Nuget 官网上传。

2. 使用 Nuget 命令上传

    该方法需要提交生成一个 key ,然后使用命令向 Nuget 服务器推送包。

 

校验上传结果

打开 vs 的 Nuget 查询看有没有上传的包。

 

最后热烈庆祝 Visual Studio 出 Mac 版本了,但有一个文件不支持 VS 2015 最新的 xproj 项目文件,只支持 csproj 。。。。

原文地址:http://www.cnblogs.com/wlitsoft/p/6082389.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

#{} vs ${}

#{}: 是以预编译的形式,将参数设置到SQL语句中;PreparedStatement:防止SQL注入 ${}: 取出的值直接拼装在SQL语句中;会有安全问题 大多数情况下,我们去参数的值都应该使用#{}

Java IO: Reader和Writer

转载自 Java IO: Reader和Writer作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) Reader 原文链接 Reader是Java IO中所有Reader的基类。Reader与InputStream类似,不同点在于,Reader基于字符而非基于字节。换句话说,Reader用于读取…

idea新建module 后 mapper老是说mapper和xml没有绑定

20200225_005a 三层全部走通 上面走不出来应该是spingboot的版本太高了 选spring版本的时候选到最低版本 intian_talentapartment_api.zip repair

java线程的创建线程_多线程(Thread、线程创建、线程池)

第1章 多线程1.1 多线程介绍学习多线程之前,我们先要了解几个关于多线程有关的概念。进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有…

hibernate注解实体类(Emp.java)

Emp.java 员工信息表的注解实体类详情: package cn.bdqn.hibernate_Criteria.entity;import java.util.Date; import javax.persistence.*;/*** Emp entity. author MyEclipse Persistence Tools*/Entity Table(name"EMP") public class Emp implements j…

MySQL在EF Core下的Scaffolding操作

Pomelo于2016年11月22日发布的MySQL for ef core中,增加了DbContext Scaffolding的支持,这项功能是让开发者可以从现有的数据库中提取表、列、索引及外键成为模型。这也是当前唯一一个支持Scaffolding的MySQL for EF Core Provider。 下面将演示如何使用…

Java IO: 序列化与ObjectInputStream、ObjectOutputStream

转载自 Java IO: 序列化与ObjectInputStream、ObjectOutputStream作者:Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本小节会简要概括Java IO中的序列化以及涉及到的流,主要包括ObjectInputStream和ObjectOutputStream。 Serializabl…

调试备忘录-RS485 MODBUS RTU协议简述

目录--点击可快速直达 目录 写在前面先简单说下什么是MODBUS?参考文章 写在前面 最近在做和物联网有关的小项目,有一个传感器通讯用到了RS485 MODBUS RTU协议,所以就写个随笔记录下。 先简单说下什么是MODBUS? Modbus协议是应用于电子控…

狂神说spring笔记

B站 https://www.bilibili.com/video/BV1WE411d7Dv 狂神说Spring01:概述及IOC理论推导 https://mp.weixin.qq.com/s/VM6INdNB_hNfXCMq3UZgTQ 狂神说Spring02:快速上手Spring https://mp.weixin.qq.com/s/Sa39ulmHpNFJ9u48rwCG7A 狂神说Spring03&#…

体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图

这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件。 需要在 project.json 中添加如下配置: 1)在 "dependencies" 中添加: "Microsoft.AspNetCore.Mvc.Ra…

Vue组件异步加载

一、vue的非编译模式 基于requireJSVUE搭建的环境 (1)路由配置信息 A、异步加载组件 define(function(){return [{name: "my-component",path: "/myComponent",component: resolve > require([myComponent], resolve),}]; }); B、…

Java毕设动物管理系统_java毕业设计_springboot框架的现代化动物园管理系统EB

这是一个基于java的毕业设计项目,毕设课题为springboot框架的现代化动物园管理系统EB, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jspspringbootmybatis, 现代化动物园管理系统EB采用mysql进行数据存储, 并基于mybatis进行了orm实体关系映射, 该现代…

关闭(杀死)8080端口

Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation。保留所有权利。 C:\windows\system32>netstat -ano | findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 6148 C:\windows\system32>taskkill /pid 6148 /f 成功: 已终止 PID 为 6148 的进程。…

Mybatis(笔记)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVjVvSsH-1609421261302)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images\image-20201230155751713.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T7e…

Java IO: Buffered和Data

转载自 Java IO: Buffered和Data作者:Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本小节会简要概括Java IO中Buffered和data的输入输出流,主要涉及以下4个类型的流:BufferedInputStream,BufferedOutputStream…

Visual Studio Code 玩MS SQL

Connect 2016 有一堆好玩的东西,微软正在努力地转型,从Windows First到Cloud First 。Cloud First的缘故也推动了微软产品的跨平台,你可以看到Microsoft Office / Visual Studio Code / Visual Studio / PowerShell 都陆续登上了Linux/Mac 。…

java 单例 生命周期_单例模式--- 声明周期托管方式

声明周期托管方式,IOCJAVA代码MyManager.javaimport java.util.HashMap;/*** 为了管理对象的产生* 对象的控制权给当前类负责* 生命周期托管实现对象的单例* IOC控制反转*/public class MyManager {// 存储所有被管理的对象private static HashMap beanMap new Has…

Spring配置

Spring配置 别名 alias 设置别名 , 为bean设置别名 , 可以设置多个别名 <!--设置别名&#xff1a;在获取Bean的时候可以使用别名获取--> <alias name"userT" alias"userNew"/>Bean的配置 <!--bean就是java对象,由Spring创建和管理-->…