一个技术汪的开源梦 —— 目录html
微软的 ASP.Net Core 强化了 Nuget 的使用,全部的 .Net Core 组件均有 Nuget 管理,因此有必要探讨一下 .Net Core 组件制做 Nuget 包和发布。json
以前 .Net Framework 程序集打包 Nuget 有如下方法:服务器
1. 使用命令 nuget pack 详见博客园的一篇博文 《用命令行工具建立 Nuget 程序包》;工具
2. 使用 NuGet Package Explorer;post
3. vs 插件 NuBuild Project System。ui
这其中第 3 种方法是最好用的,能够直接在 vs 中制做 Nuget 包,而后用方法 2 校验生成的 Nuget 包对不对或者微调发布,亦能够用 nuget 命令进行包的推送。url
下面说 .Net Core 组件的打包spa
微软既然全部的 .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 。。。。