在Visual Studio中运行dotnet命令行

时间:2018-06-20 12:59:07

标签: visual-studio asp.net-core .net-core

大多数.NET核心在线教程似乎都使用Visual Studio代码,而不是Visual Studio(胖子?完整版是否有适当的用语?我使用的是Professional,但也有Community,Enterprise等)。 / p>

这些教程充分利用了VS代码中用于运行dotnet命令行命令(新的dotnet,dotnet构建等)的集成终端。

我正在努力寻找在Visual Studio中执行这些命令的位置。在哪里做这个合适的地方?我已经安装了.NET core SDK。

我已经看到了有关程序包管理器控制台的一些建议-尽管这似乎很奇怪,但为什么我应该通过“程序包管理器控制台”运行dotnet命令?

5 个答案:

答案 0 :(得分:5)

  1. Visual Studio的完整版本是“ Visual Studio”,“代码”是“ Visual Studio代码”的区别。

  2. 就Visual Studio内部的集成命令行 而言,软件包管理器控制台就是它。它基本上只是powershell,带有来自Visual Studio的一些插件以及已安装的任何扩展或NuGet软件包。它之所以得名,是因为它是专门为NuGet软件包的管理而引入的,但是很快就被诸如Entity Framework之类的东西所采用,并且从那时起就一直在增长。诚然,微软可能应该考虑将其更名,但是那里有太多的文档,文章和教程都引用了“ Package Manager Console”,如果将其重命名,实际上可能会造成 more 的混乱。 / p>

  3. 尽管您可以通过它运行dotnet命令,但我认为结果会有些不可预测。也许我在这里是错的,因为我从未尝试过通过PMC做类似dotnet new的事情,但是PMC并不是真正的基于目录的,就像传统的控制台窗口一样。实际上,它是上下文相关的,将命令应用于目标项目。我确实知道像dotnet restore之类的东西可以正常工作,而dotnet new也可以。您只需尝试一下。

也就是说,我倾向于对Visual Studio采用全有或全无的方法。它是一头野兽,如果您要安装并使用它,最好使用。您可以通过GUI来完成dotnet的所有操作。而且,对于那些可能需要一些特殊功能的情况,您可以弹出一个控制台窗口。如果您想使用dotnet进行所有操作,Visual Studio很快就会变得过时了,Visual Studio Code对于您的工作流程可能会更加高效。

答案 1 :(得分:4)

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

有扩展名。我尝试了BuiltinCmdWhack Whack Terminal,后者对我来说效果更好。您可以在CMD和PowerShell之间进行选择,所有dotnet CLI命令都可以正常工作。 Whack Whack terminal screenshot with dotnet watch run

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

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

根据教程在Visual Studio的命令窗口中

。当我在Visual Studio中打开此窗口(“查看”>“其他Windows”>“命令窗口”)并尝试运行这些命令时,我收到此错误:

>dotnet ef migrations add MaxLengthOnNames
Command "dotnet" is not valid.
>dotnet ef database update
Command "dotnet" is not valid.
>

当我尝试在Package Manager控制台中运行它们时,这是我得到的结果:

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

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

  • 打开Windows命令提示符
  • 将项目目录设置为当前目录
  • 运行所需的任何dotnet命令,就像我输入的那样:dotnet ef数据库更新
  • 成功

答案 4 :(得分:0)

您可以在Visual Studio软件包管理器控制台中执行功能至少等效于某些dotnet命令的cmdlet。

例如,有一组cmdlet可以调用,它们等效于dotnet ef命令。看到这里:https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

因此,程序包管理器控制台中的dotnet ef migrations add MaxLengthOnNames等效为Add-Migration MaxLengthOnNames

在Package Manager控制台中,dotnet ef database update的等效项是Update-Database

使用我链接到的页面应该很容易找出其余dotnet ef命令的cmdlet等效项。

尽管我不了解dotnet run