02、NetCore2.0優化之Nuget包


02、NetCore2.0優化之Nuget包
在NetCore2.0中的包是如何管理的?如何存儲的?微軟做了哪些優化工作?

------------------------------------------------------------------------------------------------------------

 寫在前面:這是一個系列的文章,總目錄請移步:NetCore2.0技術文章目錄

------------------------------------------------------------------------------------------------------------

一、歷史問題
在.NetCore 2.0之前,我們開發.Net應用程序,引用的包分為Framework包和第三方包兩種,其中第三方類庫文件都要隨着應用一起存儲,文件越多,越占存儲空間。隨着.NetCore 2.0出現,微軟統一使用Nuget來管理Framework包和第三方包,不再區別對待;還進行了一定范圍內的優化。
 
二、.優化的運行時包倉
對於應用程序引用的Framework包,微軟提供了 運行時包倉runtime package store ),所有應用程序共用 運行時包倉,我們在發布應用程序的時候不需要關心,只要關注第三方包即可。
運行時包倉路徑一般為:
  • linux:/usr/local/share/dotnet/store
  • windows: C:/Program Files/dotnet/store

三、優化的第三方包
其中第三方包也不是每個App下載一份,而是統一存儲在一個文件下:
  • C:\Users\Administrator\.nuget\package

只有發布的時候才會隨App一起部署。

  四、元包

元包就是一個 NuGet 包約定,描述了一組意義相關的包。 開發團隊利用依賴項來描述這一組包。 他們通過這一組包來描述一個框架,然后有選擇地發布出去。使用 ASP.NET Core 2.0 只需要安裝一個 NuGet 元包 —— Microsoft.AspNetCore.All,省去了一個個添加包的步驟;發布時會自動排除沒有用到的包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM