一個技術汪的開源夢 —— 目錄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 。。。。