你居然沒用 Nuget 構建項目?

想寫這篇文章緣起於公衆號文章裏的一條留言:linux

image

對於一個現代化的開發平臺,創建一種讓開發者建立,分享與使用可複用代碼的機制是十分必要的。這種「可複用代碼」被打包後的文件一般被稱做「包」(package),對於.NET(包括 .NET Core)平臺來講這個機制的實現就是NuGet平臺。NuGet包的本質是一個以nupkg爲後綴的zip壓縮文件(你能夠將後綴改成.zip後解壓查看裏面的內容),其中包含了編譯後的Dll文件以及其餘相關文件。web

.NET Core是一個開源的模塊化的Framework,無論是開發web或移動設備都在同一個Framework(.NET Core)下運行,並且 .NET Core也可在不一樣的操做系統上運行,包括Windows、linux、MacOS,實現了跨平臺跨設備。更棒的是.NET Core 在發佈程序時不用事先安裝Framework而是經過Nuget下載,這樣在初次部署時就不用安裝一個複雜而龐大Framework,而是按需下載。這種基於Nuget的按需加載鑄就了.NET Core 跨平臺。.Net Core 強化了 Nuget 的使用,全部的 .Net Core 組件均有 Nuget 管理,因此有必要探討一下 Nuget。框架

微軟的官方文檔《包、元包和框架 https://docs.microsoft.com/zh-cn/dotnet/core/packages》明確了.NET Core 是一種由 NuGet 包組成的平臺。運維

image

NuGet是個開源項目,項目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等項目,.NET Core項目徹底使用Nuget 管理組件之間的依賴關係,Nuget已經成爲.NET 生態系統中不可或缺的一個組件,從項目角度,將項目中各類組件的引用通通交給NuGet,添加組件/刪除組件/以及更新組件便可一鍵完成,大大提高工做效率,減小沒必要要的引用報錯。從運維角度,可在不影響老版本的狀況下發布新版本,可統一管理公司各個項目中組件版本不一和各個版本組件的使用狀況,減小故障發生以並使得項目穩定運行。
相關文章
相關標籤/搜索