基于 .Net Core 的组件 Nuget 包制作 amp; 发布
微軟的 ASP.Net Core 強(qiáng)化了 Nuget 的使用,所有的 .Net Core 組件均有 Nuget 管理,所以有必要探討一下 .Net Core 組件制作 Nuget 包和發(fā)布。
之前 .Net Framework 程序集打包 Nuget 有以下方法:
1. 使用命令??nuget pack? 詳見博客園的一篇博文 《用命令行工具創(chuàng)建 Nuget 程序包》;
2. 使用?NuGet Package Explorer;
3. vs 插件?NuBuild Project System。
這其中第 3 種方法是最好用的,可以直接在 vs 中制作 Nuget 包,然后用方法 2 校驗(yàn)生成的 Nuget 包對不對或者微調(diào)發(fā)布,亦可以用 nuget 命令進(jìn)行包的推送。
下面說 .Net Core 組件的打包
微軟既然所有的 .Net Core 組件均有 Nuget 去管理,那它肯定會出一個(gè)打包工具或者命令,沒錯(cuò)下面就開始說一下??dotnet pack? 命令。
想必大家之前肯定用過 dotnet 相關(guān)的命令,那今天說一下它的打包命令 dotnet pack 這里的打包就是打成 nuget 包。
包生成
? 執(zhí)行命令 dotnet pack --help 看一下有啥子參數(shù)。
??
? -h 不用說了就是查看幫助;
? -o 指定生成的nuget包要輸出到那個(gè)目錄下;
? --no-build 打包時(shí)不要編譯項(xiàng)目;
? -b 項(xiàng)目編譯時(shí)的臨時(shí)輸入目錄;
? -c 配置使用 Debug 模式還是 Release 模式(默認(rèn)為 Debug);
? -version-suffix 如果 project.json 中的項(xiàng)目版本以 * 結(jié)尾,這個(gè)參數(shù)可以指定參數(shù)將 * 替換掉;
? -s 指定是否僅供內(nèi)部 nuget 使用。
以下是簡單示例:
1. project.json 文件目錄下執(zhí)行命令:?dotnet pack -c Release -o Nugets?
2. 非 project.json 文件目錄下執(zhí)行命令:
?dotnet pack -c Release -o Nugets src\Wlitsoft.Framework.Common.Abstractions\project.json?
打包后會生成兩個(gè)文件
? ? Wlitsoft.Framework.Common.Abstractions.0.1.1-Beta.nupkg
? ? Wlitsoft.Framework.Common.Abstractions.0.1.1-Beta.symbols.nupkg
第一個(gè)文件是 Nuget 包文件,第二個(gè)是包括源碼的 Nuget 包文件。
命名規(guī)則為:項(xiàng)目文件夾名稱 + 版本號(project.json 內(nèi)指定的 version),沒有搞明白怎么修改默認(rèn)的命名生成規(guī)則。
注意:版本號后綴帶 - xxx 標(biāo)示預(yù)發(fā)行版本。
包檢查
包已經(jīng)生成成功了那咱用?NuGet Package Explorer 打開看眼生成的對不對,當(dāng)然亦可用壓縮文件軟件將 nupkg 文件打開查看 nuget 包的描述文件。
?
包上傳
如果是開源項(xiàng)目的話,包可以上傳到 Nuget 官方服務(wù)器,如果是公司內(nèi)部私有項(xiàng)目的話那就上傳到內(nèi)部是私有 Nuget 服務(wù)器或者文件共享服務(wù)器中(Nuget 源支持文件共享源)。
1. 在 Nuget 官網(wǎng)上傳。
2. 使用 Nuget 命令上傳
? ? 該方法需要提交生成一個(gè) key ,然后使用命令向 Nuget 服務(wù)器推送包。
?
校驗(yàn)上傳結(jié)果
打開 vs 的 Nuget 查詢看有沒有上傳的包。
?
最后熱烈慶祝 Visual Studio 出 Mac 版本了,但有一個(gè)文件不支持 VS 2015 最新的 xproj 項(xiàng)目文件,只支持 csproj 。。。。
原文地址:http://www.cnblogs.com/wlitsoft/p/6082389.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的基于 .Net Core 的组件 Nuget 包制作 amp; 发布的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core 1.1 升级公告
- 下一篇: asp.net ajax控件工具集 Au