是否可以将 CLI 与 GUI 一起使用?

Is it possible to use CLI along with GUI?

我已经阅读了很多有关使用 .NET 命令行界面的优点(例如速度和灵活性)的文章,所以我尝试了它。我通过 PowerShell 创建了新的 ASP.NET Web Api 项目。一切都很好,直到我想安装一些 Nuget 包。我无法在 IDE(VS2019) 中执行此操作,因为 Nuget 管理器已禁用(程序包管理器控制台给我“无默认项目”)。我使用 CLI 添加了 Entity Framework 包,但由于某种原因,我首先必须为项目创建新的解决方案(使用 CLI)。现在要进行迁移,我需要为 EF 使用命令......它比使用 GUI 更灵活吗?在我看来,这是一个或另一个。 我的问题:你们如何使用 CLI?使用它有充分的理由吗?

Is it possible to use CLI along with GUI?

实际上,它可以完成,因为你想使用 CLI 创建一个与 GUI 相同的项目(有一个 xxx.sln file)。由于 dotnet 命令行创建项目非常简单,但像 VS IDE 那样创建它(xxxx.csproj 使用 SLN 文件和所有级别的项目)需要像这样的进一步命令:

1) 使用 cmd 来 cd 一个名为 Project 的文件夹,然后键入:

dotnet new mvc -o <Solution_Name>/<Project_Name> -n <Project_Name>

然后创建解决方案文件夹和项目,但缺少 <Solution_Name>.sln 文件。你应该使用 dotnet sln 命令。

2) 在 Solution 文件夹下创建一个名为 <Solution_Name>.sln 的文件,并在该文件中添加以下内容:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28701.123
MinimumVisualStudioVersion = 10.0.40219.1

然后命令:

cd <Solution_Name>
dotnet sln add <Solution_Name>.sln <Project_Name>\<Project_Name>.csproj

3) 然后它将像 GUI 一样创建。

此外,CLI简单方便(申请单个项目),但如果要像GUI一样(一个解决方案包含多个项目),则需要做一些额外的工作与其他一些命令一样,通过 GUI 操作,它会自动创建,无需任何步骤。

此外,如果你想通过CLI安装一个nuget包,你可以使用dotnet add package command而不是在GUI中安装它,就像这样:

CMD

dotnet add package Newtonsoft.Json -v 12.0.1

更新 1

其实,各有优缺点,分情况来处理。

创建单个项目并对当前项目做一些操作,使用CLI更方便。它占用的计算机系统资源少得多,并且可以快速反应并提高性能。但是,如果涉及到多个复杂的项目,争取对多个项目进行操作,因为CLI过于直接,没有GUI直观,easy操作起来比较复杂,不适合新手

更多的对比,可以参考this link更详细的信息