nuget.org 发布自己的程序包
安装 nuget
在 https://docs.microsoft.com/zh-cn/nuget/install-nuget-client-tools 选择 nuget.exe 安装。
下载下来是一个 nuget.exe 不可直接运行,随意放在一个目录,在环境变量 Path 中配置路径。
安装好了 CMD 中可以使用 >: nuget 命令结果是这样的:
C:\Users\bdzy>nuget NuGet Version: 4.7.1.5393 usage: NuGet <command> [args] [options] Type 'NuGet help <command>' for help on a specific command. Available commands: add Adds the given package to a hierarchical source. http sources are not supported. For more info, goto https ://docs.nuget.org/consume/command-line-reference#add-command. config 获取或设置 NuGet 配置值。 delete 从服务器中删除程序包。 help (?) 显示一般帮助信息,以及有关其他命令的帮助信息。 init Adds all the packages from the <srcPackageSourcePath> to the hierarchical <destPackageSourcePath>. http fe eds are not supported. For more info, goto https://docs.nuget.org/consume/command-line-reference#init-comm and. install 使用指定的源安装程序包。如果未指定源,则将使用 NuGet 配置文件中定义的所有源。如果配置文件未指定源,则使用默认的 NuGet 源。 list 显示给定源中的程序包列表。如果未指定源,则使用 %AppData%\NuGet\NuGet.config 中定义的所有源。如果 NuGet.config 未指定源,则使用默认 NuGet 源。 locals Clears or lists local NuGet resources such as http requests cache, temp cache or machine-wide global packa ges folder. pack 基于指定的 nuspec 或项目文件创建 NuGet 程序包。 push 将程序包推送到服务器并进行发布。 通过加载 %AppData%\NuGet\NuGet.config,然后加载从驱动器的根目录开始到当前目录为止的任何 nuget.config 或 .nuget\nuget.config 来获取 NuGet 的默 认配置。 restore 还原 NuGet 程序包。 setApiKey 保存给定服务器 URL 所对应的 API 密钥。如果未提供 URL,则保存 NuGet 库的 API 密钥。 sign Signs a NuGet package with the specified certificate. sources 可以管理位于 %AppData%\NuGet\NuGet.config 的源列表 spec 为新程序包生成 nuspec。如果此命令在项目文件(.csproj、.vbproj、.fsproj)所在的文件夹中运行,则它将创建已标记化的 nuspec 文件。 update 将程序包更新到最新的可用版本。此命令还更新 NuGet.exe 本身。 verify Verifies a signed NuGet package. 有关详细信息,请访问 http://docs.nuget.org/docs/reference/command-line-reference
本地制作 nuget 包(测试)
1、新建一个 类库项目 (.NET Framework),命名为 “Test01”
2、在 "Test01" 项目里面建 "Logger.cs" 类文件,里面随便写一个 log 方法
public class Logger { public void Log(string text) { Console.WriteLine(text); } }
3、重新生成项目(确保项目的 bin/debug 下面有生成项目的 dll )
生成项目清单(nuget.org 上所需的信息)
1、到项目的根目录下(含 .csproj 项目文件的目录)[以下操作均在项目目录下操作]
2、执行产生清单文件 nuspec 文件
nuget spec test01.csproj
会在目录里面产生一个 test01.nuspec 清单文件(xml 格式)
3、编辑 test01.nuspec 清单文件
<?xml version="1.0"?> <package > <metadata> <id>[公司团队缩写].test01 (nuget 安装包的名称如:EntityFramework)</id> <version>1.1</version> (版本使用 1.1,如果是兼容版本,使用 (1.0,2.0)) <title>$title</title> <authors>$[作者]$</authors> <owners>$author$</owners> <licenseUrl>http://[开源协议的url地址]</licenseUrl> <projectUrl>http://项目地址</projectUrl> <iconUrl>http://图标地址(64*64)</iconUrl> <requireLicenseAcceptance>false【bool: 是否提示同意协议使用】</requireLicenseAcceptance> <description>$描述项目的信息$</description> <releaseNotes>[备注项目信息和描述一样一样的]</releaseNotes> <copyright>Copyright 2018</copyright> <tags>Tag1 Tag2 [标签检索用的]</tags> </metadata> </package>
清单配置可选和必选项,必读 https://docs.microsoft.com/zh-cn/nuget/reference/nuspec#optional-metadata-elements
4、清单配置好了,保存文件
生成 .nupkg 文件
.nupkg 文件,就是用于发布到 nuget.org 的文件
nuget pack
NuGet 以 identifier-version.nupkg 形式生成
.nupkg文件,你可在当前文件夹中找到该文件。
发布 nupkg 包到 nuget.org
注意: nuget API KEY 申请在下面
nuget push test01.1.0.nupkg [nuget API KEY] -Source https://api.nuget.org/v3/index.json
nuget.exe 会显示发布过程的结果:
Pushing AppLogger.1.0.0.nupkg to 'https://www.nuget.org/api/v2/package'... PUT https://www.nuget.org/api/v2/package/ Created https://www.nuget.org/api/v2/package/ 6829ms Your package was pushed.
表示发布成功了。一般等待30分钟所有就可以用 清单文件配置的 ID [公司团队缩写].test01 在 nuget.org 搜索得到啦!
申请 nuget API KEY
-
登录你的 nuget.org 帐户,或创建一个帐户(如果你还没有帐户)。
-
选择用户名(在右上角),然后选择“API 密钥”。
-
选择“创建”,提供密钥名称,选择“选择范围”>“推送”。 在“API 密钥”下,输入“Glob 模式”*,然后选择“创建”。 (请参阅下面有关范围的详细信息。)
-
创建密钥后,选择“复制”,检索需要在 CLI 中使用的访问密钥:
转载于:https://my.oschina.net/TOW/blog/2873416
- 点赞
- 收藏
- 分享
- 文章举报
- NuGet -- 如何创建及发布自己的程序包
- Nuget的使用笔记-(使用nuget发布dll到www.nuget.org)
- 《使用NuGet发布自己的类库》——使用与更新篇
- 发布自己的nuget包傻瓜教程
- 修改 下载仓库为淘宝镜像 npm config set registry http://registry.npm.taobao.org/ 3, 如果要发布自己的镜像需要修改回来 npm
- 使用nuget发布自己写的类库
- Nuget发布自己的类库包之开发
- 使用NUget发布自己的dll
- 使用NuGet发布自己的类库包(Library Package)
- 部署NuGet服务器和发布自己的NuGet包
- 使用NUget发布自己的dll(转)
- 使用NuGet发布自己的类库包(Library Package)
- 发布自己的类库到NuGet
- 使用NuGet发布自己的类库包(Library Package)
- 《使用NuGet发布自己的类库》——开发篇
- 使用NuGet发布自己的类库包(Library Package)
- NuGet——发布自己的类库包
- 使用NuGet发布自己的类库包(Library Package)
- 部署NuGet服务器和发布自己的NuGet包
- 发布自己的NuGet程序