Visual studio 在Visual Studio中运行dotnet命令行

Visual studio 在Visual Studio中运行dotnet命令行,visual-studio,.net-core,Visual Studio,.net Core,大多数.NET核心在线教程似乎使用Visual Studio代码,而不是Visual Studio(全脂?完整版本有合适的术语吗?我使用Professional,但也有社区、企业等) 这些教程充分利用VS代码中的集成终端来运行dotnet命令行命令(dotnet new、dotnet build等) 我正在努力寻找在VisualStudio中执行这些命令的位置。在哪里做这件事是正确的?我已经安装了.NET核心SDK 我已经看到了一些关于包管理器控制台的建议——虽然这看起来有些奇怪,但为什么我应该

大多数.NET核心在线教程似乎使用Visual Studio代码,而不是Visual Studio(全脂?完整版本有合适的术语吗?我使用Professional,但也有社区、企业等)

这些教程充分利用VS代码中的集成终端来运行dotnet命令行命令(dotnet new、dotnet build等)

我正在努力寻找在VisualStudio中执行这些命令的位置。在哪里做这件事是正确的?我已经安装了.NET核心SDK

我已经看到了一些关于包管理器控制台的建议——虽然这看起来有些奇怪,但为什么我应该通过“包管理器控制台”运行dotnet命令呢

  • Visual Studio的完整版本是“Visual Studio”,“代码”是“Visual Studio代码”的不同之处

  • 就VisualStudio内部的集成命令行而言,包管理器控制台就是它。它基本上就是powershell,有一些来自VisualStudio的插件和您安装的任何扩展或NuGet软件包。它之所以得名,是因为它是专门为管理NuGet包而引入的,但很快就被Entity Framework之类的东西所取代,并从那里继续发展。诚然,微软应该考虑重新命名它,但是有太多的文档、文章和教程引用了“包管理器控制台”,如果它们重命名它可能会造成更多的混淆。

  • 虽然您可以通过它运行
    dotnet
    命令,但我认为结果可能有点不可预测。也许我在这里错了,因为我从来没有尝试过从PMC中执行类似于
    dotnet new
    的操作,但是PMC并不像传统的控制台窗口那样真正基于目录。它在本质上更符合上下文,将命令应用于目标项目。我确实知道像
    dotnet restore
    这样的东西可以很好地工作,而
    dotnet new
    也可以。你得试试看


  • 也就是说,我倾向于对VisualStudio采取全有或全无的方法。这是一个野兽,如果你要安装和使用它,你也可以使用它。通过GUI,您可以使用
    dotnet
    完成所有操作。而且,对于那些你可能需要一些特别的东西的时候,你可以弹出一个控制台窗口。如果您想使用
    dotnet
    做任何事情,Visual Studio很快就会变得过火,Visual Studio代码可能会对您的工作流程更有效率。

    在遵循教程更新数据库时,我必须运行这些命令

    dotnet ef迁移添加MaxLengthOnNames dotnet ef数据库更新

    在Visual studio的命令窗口中,如教程所示。当我在visual studio中打开此窗口(视图>其他窗口>命令窗口)并尝试运行这些命令时,收到以下错误:

    >dotnet ef migrations add MaxLengthOnNames
    Command "dotnet" is not valid.
    >dotnet ef database update
    Command "dotnet" is not valid.
    >
    
    当我尝试在Package Manager控制台中运行它们时,得到的结果是:

    未找到任何项目。更改当前工作目录或使用--project选项

    现在,我在谷歌上搜索了一下,得到了必须在windows命令提示符下运行这些命令的提示(通过在windows开始搜索中键入“cmd”打开)。步骤如下:

    • 打开windows命令提示符
    • 将项目目录设置为当前目录
    • 像我输入的那样运行所需的任何dotnet命令:dotnet ef database update
    • 成功

    您可以在Visual Studio软件包管理器控制台中执行cmdlet,这些cmdlet在功能上至少相当于一些
    dotnet
    命令

    例如,您可以调用一套cmdlet,它们相当于
    dotnet ef
    命令。请看这里:

    因此,包管理器控制台中的
    dotnet ef migrations add maxlengthnames
    等效于
    add Migration maxlengthnames

    在Package Manager控制台中,
    dotnet ef数据库更新
    的等价物是
    update database

    使用我链接到的页面,应该很容易找到剩余
    dotnet ef
    命令的cmdlet等价物


    我不知道如何运行
    dotnet

    我不确定添加了哪个版本的Visual Studio,但工具。。。命令行。。。开发者命令提示符将在解决方案的根目录下为您打开一个命令提示符。从那里,将cd放入要运行的项目,然后运行dotnet


    另外,如果您的Visual Studio版本没有预装该菜单选项,您可以很容易地将其添加为“外部工具”:

    更新:Visual Studio 2019 16.6现在有了自己的终端(Hoorray!)。选中查看->终端或尝试按Ctrl+`

    有一些扩展。我试过了,后者对我更有效。您可以在CMD和PowerShell之间进行选择,所有dotnetcli命令都可以正常工作。

    Visual Studio通常内置.NET核心模板,但您可以在命令行中执行命令line@James_Parsons这并不能回答问题。visual studio是否提供了我可以使用的集成命令行?我意识到许多dotnet命令都与您可以使用visualstudio中的UI执行的操作有关。然而,当遵循教程等时,使用相同的方法更容易遵循。你是对的:它没有回答问题。因此,为什么它被写为评论而不是回答。尽管您从未在问题中询问过它,但默认情况下,VisualStudio不附带集成终端。如我所述,您可以在单独的命令行中输入命令,也可以为添加集成终端的VS查找外接程序。不确定为什么否决了此操作。NETCore确实让Windows上的开发人员感到困惑,在Windows上,VS传统上是.NET开发的“全部结束”。事实上,让我感到奇怪的是,VS没有所有的功能