熟悉.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恢复被隐含运行,如果需要的话,当你运行像命令new
,build
和run
。
清理依赖
迟早,您可能会意识到您不再需要包裹。或者您可能会意识到您安装的软件包不是您需要的软件包。也许您已经找到了可以更好地完成任务的方法。无论是什么原因,您都应该删除不使用的依赖项。这样做可以保持清洁。此外,依赖项占用空间。
要从项目中删除一个包,你可以使用remove
命令像这样:dotnet remove package <name of dependency>
。此命令将从项目的 .csproj 文件中删除包。