大多数.NET核心在线教程似乎都使用Visual Studio代码,而不是Visual Studio(胖子?完整版是否有适当的用语?我使用的是Professional,但也有Community,Enterprise等)。 / p>
这些教程充分利用了VS代码中用于运行dotnet命令行命令(新的dotnet,dotnet构建等)的集成终端。
我正在努力寻找在Visual Studio中执行这些命令的位置。在哪里做这个合适的地方?我已经安装了.NET core SDK。
我已经看到了有关程序包管理器控制台的一些建议-尽管这似乎很奇怪,但为什么我应该通过“程序包管理器控制台”运行dotnet命令?
答案 0 :(得分:5)
Visual Studio的完整版本是“ Visual Studio”,“代码”是“ Visual Studio代码”的区别。
就Visual Studio内部的集成命令行 而言,软件包管理器控制台就是它。它基本上只是powershell,带有来自Visual Studio的一些插件以及已安装的任何扩展或NuGet软件包。它之所以得名,是因为它是专门为NuGet软件包的管理而引入的,但是很快就被诸如Entity Framework之类的东西所采用,并且从那时起就一直在增长。诚然,微软可能应该考虑将其更名,但是那里有太多的文档,文章和教程都引用了“ Package Manager Console”,如果将其重命名,实际上可能会造成 more 的混乱。 / p>
尽管您可以通过它运行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 +`。
有扩展名。我尝试了BuiltinCmd和Whack Whack Terminal,后者对我来说效果更好。您可以在CMD和PowerShell之间进行选择,所有dotnet CLI命令都可以正常工作。
答案 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”打开)。步骤是:
答案 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
。