.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.进入目 ...
随机推荐
- Linux下的计划任务at,batch,crontab
0x00前言: 继上次的windows计划任务后,拓展研究下linux下的计划任务,能够执行计划任务有3个命令at,batch,crontab 所谓的计划任务就是定时启动某个程序,可以是一组shell ...
- ubuntu安装虚拟环境
首先 sudo pip install virtualenv sudo pip install virtualenvwrapper 然后进行配置 sudo gedit /.bashrc export ...
- AspectJ 切面注解中五种通知注解:@Before、@After、@AfterRunning、@AfterThrowing、@Around
https://blog.csdn.net/u010502101/article/details/78823056
- linux 学习笔记 mysql安装总结
1 安装方式 下载2禁制源码安装包 mysql-5.5.27-linux2.6-i686.tar.gz 备注:2禁制额包解压缩后直接就可以使用 不用Make 2 步骤 shell>groupad ...
- python 多线程锁机制
GIL(全局解释器锁) GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,是为了实现不同线程对共享资源访问的互斥,才引入了GIL 在Cpython解释器 ...
- re模块、hashlib模块
一.re模块 1.什么是正则? 正则就是用一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串,正则就是用来去一个大的字符串中匹配出符合规则的子字符串 2.为何要用正则? 用户注册 ...
- HTML(二)
html段落.换行与字符实体 html段落 <p>标签定义一个文本段落,一个段落含有默认的上下间距,段落之间会用这种默认间距隔开,代码如下: <!DOCTYPE html> & ...
- 【组合数】[NOIP2011]选择客栈[c++]
题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均 ...
- [原创]RedisDesktopManager工具使用介绍
[原创]RedisDesktopManager工具使用介绍 1 RedisDesktopManager简介 一款能够跨平台使用的开源性redis可视化工具.redis desktop manager主 ...
- android面试题总结加强再加强版(一)
在加强版的基础上又再加强的android应用面试题集 有些补充略显臃肿,只为学习 1.activity的生命周期. 方法 描述 可被杀死 下一个 onCreate() 在activity第一次被创建的 ...