.Net Core 中你不可或缺的 10 个命令

2025-06-04

.Net Core 中你不可或缺的 10 个命令

在Twitter上关注我,很高兴接受您对主题或改进的建议/Chris

TLDR;这是一篇描述 .Net Core CLI 中的 10 个强大命令的文章,希望对每个人来说都有用,从完全的初学者到更有经验的开发人员。

我从事.Net开发已有多年。其中最棒的部分之一是Visual Studio,它是一款绝对出色的IDE,能够让你轻松编写代码,并支持代码补全、轻松调试和打包应用程序。几年后,我开始使用.Net,并随之推出了.Net Core,它赋予了我跨平台使用.Net的能力。.Net Core还附带了一个非常强大的CLI工具。使用旧版.Net时,你知道后台有一个MSBuild命令,但你很少需要关心它,Visual Studio会为你处理好一切。

虽然使用 .Net Core 您可以同时获得两全其美的效果,但仍然可以获得 Visual Studio 或令人惊叹的 Visual Studio Code 的一流体验,并且通过 CLI 工具我们也可以拥有一流的终端体验。

那么为什么要使用终端命令呢,我是一个 UI 人员?

我知道你们中的许多人都是这样想的(我以前也是这样想的),答案是原因不止一个。

  • 脚本是一个很好的理由,脚本可以让我们轻松设置 CI/CD
  • 速度是一个因素,使用终端工作通常比使用视觉环境更快。
  • 选择你自己的编辑器,它还允许你使用自己喜欢的编辑器。我们都有自己喜欢的编辑器。.Net 过去与 Visual Studio 紧密耦合,现在有了 .Net Core CLI,你可以轻松地通过终端构建、测试、打包和发布你的项目。

无论你认为最引人注目的原因是什么,了解底层运行的命令并了解它们的作用都是有益的。因此,让我们看一下使用 .Net Core CLI 的 10 个最重要的命令:

 -1- dotnet new

此命令用于搭建项目。通常,您可以这样调用它:

dotnet new <type of project template> - o <name of directory>

真实的例子可能如下所示:

dotnet new console -o app

上述命令将在目录中创建一个控制台项目app。此命令还有很多内容,请查看文档页面。

dotnet new 命令

 -2- dotnet 恢复

这将恢复项目的依赖项。这到底是什么意思?好吧,当你将 NuGet 包添加到解决方案中时,它会添加对项目文件的引用.csproj。如果你从 GitHub 检出项目,这些包可能没有版本控制,需要添加到项目中。restore此时运行将从 NuGet 存储库中获取包。

该命令可以通过两种方式运行:

  • 明确地,你输入它,它就会获取你需要的包
  • 隐式地,它作为正在执行的另一个命令的一部分运行

以下是隐式运行的命令的完整列表restore

  • 点网新
  • dotnet 构建
  • dotnet 构建服务器
  • dotnet 运行
  • dotnet 测试
  • dotnet 发布
  • dotnet 包

要了解有关此命令的更多信息,请阅读此处:

dotnet restore 命令

 -3- dotnet 构建

此命令会构建一个项目及其所有依赖项。如果您位于根目录并且有一个解决方案,那么它将构建整个解决方案,即该解决方案中的所有项目。如果您位于特定的项目目录中,那么它只会构建该目录,具体位置很重要。该命令的功能远不止build于此,请查看以下链接了解更多详细信息:

dotnet build 命令

-4- dotnet 运行

命令run就是用来执行代码的。

要使用它,只需将自己置于要运行的项目的项目目录中并输入:

dotnet run

注意:该命令用于项目上下文,而非构建的程序集。如果您尝试运行依赖于框架的应用程序 DLL,则必须使用dotnet不带命令的命令。例如,要运行 myapp.dll,请使用:

dotnet myapp.dll

要了解有关此命令的更多信息,请查看以下链接:

dotnet 运行命令

 -5- dotnet 测试

此命令用于执行测试项目的测试。它带有相当多的参数,使您可以运行特定的测试或整个测试套件。

要了解有关此命令的更多信息,请查看以下链接:

dotnet 测试命令

如果您对测试完全陌生,请查看我撰写的有关开始测试的文章:

https://dev.to/dotnet/testing-in-net-core-ojh

 -6- dotnet 包

现在我们进入一个有趣的领域,即创建你自己的 NuGet 包。你可以使用此命令创建一个包,并且可以在本地仓库以及官方的全局仓库中创建包。要了解更多信息,请查看官方文档页面:

dotnet pack 命令

另外,请查看我写的一篇关于如何从头开始执行此操作的文章,并了解如何发布您的包以便其他人可以下载它:

在 NuGet 中创建你的第一个包

 -7- dotnet clean

此命令用于清理项目的输出。这意味着它会同时删除 obj 和 bin 文件夹的内容。此命令附带一些参数,例如,您可以选择仅清理特定的运行时或框架。有关此命令的更多信息,请参阅官方文档:

dotnet clean 命令

-8- dotnet sln

这是用于管理解决方案的命令。如果您是 dotnet 新手,解决方案会跟踪多个项目,它是管理一组逻辑上属于同一组的不同项目(例如构建或发布可执行文件)的绝佳方式。由于此命令管理与解决方案相关的所有事务,因此最好了解如何入门。

要创建解决方案,您只需将自己置于所选目录中并运行

dotnet new sln

这将创建一个与目录同名的解决方案文件。例如:

cd hello
dotnet new sln

这将创建一个hello.sln文件。要管理该解决方案,您可以使用以下命令:

  • 添加,这将向您的解决方案添加一个项目。
  • 删除,这将从您的解决方案中删除一个项目
  • 列表,列出解决方案中的所有项目

要了解有关此命令的更多信息,请查看官方文档页面:

dotnet sln 命令

此外,请查看我撰写的博客文章,其中教您如何创建解决方案、项目以及如何开始使用 .Net Core

从 .Net Core 开始

 -9- dotnet 添加/删除引用

此命令会将一个项目添加到您的项目中。其目的是,例如,让您的项目使用其他项目的代码。为此,您首先需要添加对该项目的引用,然后编译器和 IDE 才能识别它。例如,您目前正在开发控制台项目app,并且想要将该项目添加libapp。您可以通过以下两种方式之一执行此操作:

  1. 添加来自解决方案目录的引用,如果您站在解决方案目录中(应用程序目录的上一级),则键入dotnet add app/app.csproj reference lib/lib.csproj
  2. 从当前目录添加引用,然后输入dotnet add reference lib1/lib1.csproj

要了解有关此命令的更多信息,请查看文档页面:

dotnet add 引用命令

 -10- dotnet 添加/删除包

现在我们又回到了讨论 NuGet 包的问题。该add命令允许我们通过指定包名来从 NuGet 添加包:

dotnet add package Newtonsoft.Json

这会将包添加Newtonsoft.Json到我们的项目文件中。它还会运行一个dotnet restore命令,从 NuGet 仓库中获取包。

要了解有关此命令的更多信息,请查看此链接:

dotnet add package 命令

参考

以下是您可能需要的一些参考资料:

  • 安装 dotnet
    这会带你进入 .Net Core 的安装页面。访问https://dotnet.microsoft.com即可查看。这是一个很棒的 .Net 网站,里面有很多教程。

  • .Net Core 系列
    看看我写的这一系列 .Net Core 文章,从 .Net Core 的第一步到无服务器甚至 GraphQL

文章来源:https://dev.to/dotnet/10-commands-you-don-t-want-to-be-without-in-net-core-40gi
PREV
ASP .NET Core 中的身份验证
NEXT
Next.js - React 的未来?为什么 React 并不完整?探索 Next.js 摘要