.NET Core +NuGet 创建打包发布自己的类库包
1. 创建类库项目
你可以使用现有的 .NET 类库项目用于要打包的代码,或者创建一个简单的项目,.NET CORE 2.1 项目的 类库如下所示:

NugetDemo.class
using System; namespace NugetTest
{
public class NugetDemo
{
public static String ReturnInfo()
{
return "生成自己的安装包";
} }
}
2:下载NuGet.exe
使用之前,需要先下载NuGet.exe, 设置机器的PATH环境变量,将其NuGet.exe的路径添加到PATH变量中。我放在D:\system下,所以路径为D:\system
https://www.nuget.org/downloads

选择版本即可
4 打开 类库项目文件 NugetTest.AssemblyInfo.cs
然后打开AssemblyInfo.cs文件 NugetTest.AssemblyInfo.cs,将assembly的属性设置好,记得再设置一下AssemblyVersion特性,以指定我们类库的版本。
using System;
using System.Reflection;
using System.Runtime.InteropServices; [assembly: System.Reflection.AssemblyCompanyAttribute("Cloud")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("在线引用包")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Cloud")]
[assembly: System.Reflection.AssemblyTitleAttribute("NugetTest")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Runtime.InteropServices.ComVisible(false)] [assembly: Guid("20182b9f-91de-4515-9c8c-ced3d61589e1")] // 由 MSBuild WriteCodeFragment 类生成。
其实也可以在 项目属性中设置

通过CMD命令 执行
5 产生并修改nuspec
nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入NugetTest.csproj文件所在目录,然后执行:
类库项目目录就是自己项目存放的路径地址
执行 nuget spec
生成的文件如下:

C:\Users\>cd C:\Users\Desktop\NugetTest\NugetTest
C:\Users\Desktop\NugetTest\NugetTest>nuget spec
已成功创建“NugetTest.nuspec”。
用记事本打开NugetTest.nuspec文件,注意里面的$xxx$宏,这些就是引用了AssemblyInfo.cs中的设置值,在编译产生package的时候,会使用AssemblyInfo.cs中的相应值进行替换。完成编辑后,我们的nuspec文件如下:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>North</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>
<copyright>Copyright 2018</copyright>
</metadata>
</package>
不需要的节点去掉即可 以免下面执行 会有警告错误信息

6.产生类库包(Library Package)
在NugetTest.csproj的路径下,使用下面的命令产生类库包:
nuget pack NugetTest.csproj
C:\Users\Desktop\NugetTest\NugetTest>nuget pack NugetTest.csproj
正在尝试从“NugetTest.csproj”生成程序包。
MSBuild auto-detection: using msbuild version '15.8.169.51996' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin'.
正在打包“C:\Users\Desktop\NugetTest\NugetTest\bin\Debug\netcoreapp2.1”中的文件。
正在对元数据使用“NugetTest.nuspec”。
Successfully created package 'C:\Users\Desktop\NugetTest\NugetTest\NugetTest.1.0.0.nupkg'.
生成文件:

7.这样就完整的生成一个类库包 把这个包改成ZIP格式后就可以看到里面的DLL相关信息
.NET Core +NuGet 创建打包发布自己的类库包的更多相关文章
- 使用Nuget发布自己的类库包
NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些V ...
- 使用NuGet发布自己的类库包(Library Package)
STEP 1:注册并获取API Key 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了. STEP 2:下载NuGe ...
- NuGet -- 如何创建及发布自己的程序包
STEP 1:在NuGet上注册并获取API Key 首先,你需要在NuGet(https://www.nuget.org/)上注册一个新的账号,然后在My Account页面,获取一个API ...
- 发布自己的类库包到Nuget
今天来记录下发布自己的类库到Nuget. 一.准备工作 注册www.nuget.org,获取APIKey 后面发布要使用到. 二.创建项目 新建类库项目 新建测试demo类 public class ...
- 打包发布自己的nodejs包
下午的时候写了一篇关于一个不成熟的模板引擎的博客,觉得还是不太够,然后就封装了起来,做成了一款开发包.最后为了尝试一下如何发布自己的包,就又完善了一下.做此文以记之. 初衷 说来也不是什么高大上的东西 ...
- windows使用.NET CORE下创建MVC,发布到linux运行
1.在有dotnet core 的环境下,打开控制台.创建文件夹demo1 2.创建MVC程序 3.创建完成 4.使用记事本修改一下HomeController 修改端口 5.发布 6.压缩发布的文件 ...
- .Net Core 1.1打包发布到Linux
在 .Net Core 1.0 中我们打包跨平台包是在 project.json 中配置的 但是 .Net Core 1.1 去掉了 project.json 具体咋办参考:https://blogs ...
- npm学习(十)之如何使用创建、发布、使用作用域包
前言 要求npm版本2或更高 作用域用于将相关包分组在一起,并为npm模块创建一个名称空间(类似于域).这里有更详细的解释. 如果一个包的名称以@开头,那么它就是一个有作用域的包.范围是@和斜杠之间的 ...
- python文件打包发布(引用的包也可以加进来),打包出错解决了,运行出错解决了
一开始,我以为,打包本来就很容易,可是没有..... 没想到打包还能遇到坑 T.T 打包步骤: 1.安装 pyinstaller (cmd) pip install pyinstaller 2.进入目 ...
随机推荐
- 【C#】Convert.ToInt32、(int)和int.Parse三者的区别
前者适合将object类类型转换成int类型 (int)适合简单数据类型之间的转换: int.Parse适合将string类类型转换成int类型.
- 洛谷P3375 [模板]KMP字符串匹配
To 洛谷.3375 KMP字符串匹配 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果 ...
- MySQL 一对多查询
group_concat简单来说,这个函数的作用就是连接多个字段 数据表首先我们先建立两个表 CREATE TABLE `student` ( `id` ) NOT NULL AUTO_INCREME ...
- tomcat环境变量详细配置步骤
这篇文章主要为大家详细介绍了tomcat环境变量配置步骤,包括JDK环境变量配置,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了tomcat环境变量的配置教程,供大家参考,具体内容如下 1.=== ...
- python系统编程(十)
多线程-非共享数据 对于全局变量,在多线程中要格外小心,否则容易造成数据错乱的情况发生 1. 非全局变量是否要加锁呢? #coding=utf-8 import threading import ti ...
- shell脚本使用技巧3--调试
1.使用-x,开启shell脚本的跟踪调试功能 ex:bash -x script.sh or sh -x script.sh 2.使用set -x 和 set +x对脚本进行部分调试(输入中间的内容 ...
- 游戏中Row所指代的是什么?
游戏中Row所指代的是: HTML中row指的是行 SQL指的是列 其实,在翻译中来说,Row既是行也是列:准确一点讲,是横着的 现多指代的是行:
- “百度杯”CTF比赛 九月场---123
右键查看源代码 然后构造user.php,显示空白,源码也是空白,既然上边说用户名,密码了,参考大佬的博客,放文件user.php.bak这是备份文件,一打开上边全是用户名,有戏,爆破 添加字典,也就 ...
- 无脑博士的试管们--dfs搜素
无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直到被灌试 ...
- Summary on mapreduce.framework.name init error
An exception occured while performing the indexing job : java.io.IOException: Cannot initialize Cl ...