1. 程式人生 > 其它 >如何使用.Net Core CLI安裝依賴項

如何使用.Net Core CLI安裝依賴項

    熟悉.Net的小夥伴應該都知道在Visaul Studio和 Visual Studio for Mac中有一個用於包管理器的內建命令列和圖形使用者介面(NuGet),可以手動將包引用新增到您的專案檔案,或者,您可以通過命令列介面 (CLI) 工具(例如 Paket 或 .NET Core CLI)安裝它們。

  對於此模組,我們將使用內建的 .NET Core CLI 來安裝包。您可以通過在終端中呼叫命令將包新增到 .NET 專案。典型的安裝命令如下所示:dotnet add package <name of package>.當您執行該add package命令時,命令列工具會連線到全域性登錄檔、獲取包並將其儲存在所有專案都可以使用的快取資料夾位置。

安裝和構建專案後,引用將新增到除錯或釋出資料夾中。您的專案目錄如下所示:

-| bin/
---| Debug/
------| net3.1
--------| <files included in the dependency>

  

如何安裝軟體包

您可以使用該dotnet add package <dependency name>命令安裝一個常規依賴項,該依賴項旨在用作您的應用程式的一部分。

注意

您可以全域性安裝一些軟體包這些包不打算匯入到您的專案中。因此,許多全域性包都是 CLI 工具或模板。您還可以從包儲存庫安裝這些全域性工具。使用dotnet tool install <name of package>

命令安裝工具使用dotnet new -i <name of package>命令安裝模板

安裝後

已安裝的軟體包列在dependencies.csproj 檔案部分中。如果要檢視資料夾中有哪些包,可以輸入dotnet list package.

Project 'DotNetDependencies' has the following package references
   [net5.0]:
   Top-level Package      Requested   Resolved
   > Humanizer            2.7.9       2.7.9

  此命令僅列出頂級包,而不列出我們稱為傳遞包的那些包的依賴項這很適合快速瀏覽。如果您想要更深入的檢視,您可以列出所有可傳遞包。執行此操作後,list命令如下所示:

dotnet list package --include-transitive

  包含傳遞項將允許您檢視依賴項以及您安裝的所有包。如果執行dotnet list package --include-transitive,您可能會看到以下輸出:

Project 'DotNetDependencies' has the following package references
   [net5.0]:
   Top-level Package      Requested   Resolved
   > Humanizer            2.7.9       2.7.9

   Transitive Package               Resolved
   > Humanizer.Core                 2.7.9
   > Humanizer.Core.af              2.7.9
   > Humanizer.Core.ar              2.7.9
   > Humanizer.Core.bg              2.7.9
   > Humanizer.Core.bn-BD           2.7.9
   > Humanizer.Core.cs              2.7.9
   ...

  

恢復依賴

建立或克隆專案時,在構建專案之前不會下載或安裝包含的依賴項。您可以通過執行dotnet restore命令手動恢復專案檔案中指定的依賴項以及專案特定的工具在大多數情況下,您不需要顯式使用該命令。的NuGet恢復被隱含執行,如果需要的話,當你執行像命令newbuildrun

清理依賴

遲早,您可能會意識到您不再需要包裹。或者您可能會意識到您安裝的軟體包不是您需要的軟體包。也許您已經找到了可以更好地完成任務的方法。無論是什麼原因,您都應該刪除不使用的依賴項。這樣做可以保持清潔。此外,依賴項佔用空間。

要從專案中刪除一個包,你可以使用remove命令像這樣:dotnet remove package <name of dependency>此命令將從專案的 .csproj 檔案中刪除包。