如何使用.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 文件中删除包。

如何使用.Net Core CLI安装依赖项

上一篇:pytorch中神经网络的多线程数设置:torch.set_num_threads(N)


下一篇:HTML表单