web-dev-qa-db-ja.com

Visual Studio内でdotnetコマンドラインを実行する

オンラインの.NETコアチュートリアルの大部分は、Visual StudioではなくVisual Studioコードを使用しているようです(フルファット?フルバージョンには適切な用語がありますか?Professionalを使用しますが、コミュニティ、エンタープライズなどもあります)。

これらのチュートリアルは、dotnetコマンドラインコマンド(dotnet new、dotnet buildなど)を実行するためのVSコード内の統合ターミナルを最大限に活用します。

Visual Studioでこれらのコマンドを実行する場所を見つけるのに苦労しています。これを行う適切な場所はどこですか? .NETコアSDKがインストールされています。

パッケージマネージャーコンソールに関するいくつかの提案を見ました。これは奇妙に思えますが、「パッケージマネージャーコンソール」を介してdotnetコマンドを実行する必要があるのはなぜですか?

14
AndyNZ
  1. Visual Studioのフルバージョンは「Visual Studio」であり、「Code」は「Visual Studio Code」を差別化するものです。

  2. 統合されたコマンドラインinside Visual Studioに関する限り、パッケージマネージャーコンソールはそれです。これは基本的には単なるPowershellであり、Visual Studioのアドインと、インストールした拡張機能またはNuGetパッケージがあります。 NuGetパッケージの管理のために特別に導入されたという事実からその名前が付けられましたが、Entity Frameworkなどによってすぐに採用され、そこから成長し続けました。確かに、マイクロソフトはおそらくブランド名を変更することを検討する必要がありますが、「Package Manager Console」を参照するドキュメント、記事、およびチュートリアルがたくさんあるため、名前を変更するとmoreの混乱が生じる可能性があります。

  3. あなたがcanを介してdotnetコマンドを実行している間、結果は少し予測できないものになると思います。 PMCからdotnet newのようなことを試みたことはないので、おそらく私はここで間違っていますが、PMCは従来のコンソールウィンドウのように実際にはディレクトリベースではありません。ターゲットプロジェクトにコマンドを適用することで、よりコンテキストに即したものになります。 dotnet restoreのようなものがうまく機能することは知っています。dotnet newも同様に機能する可能性があります。あなたはそれを試してみなければならないでしょう。

そうは言っても、私はVisual Studioでオールオアナッシングアプローチを取る傾向があります。それは野獣であり、それをインストールして使用する場合は、同様にseを使用することもできます。 GUIを通じてdotnetで実行できるすべてのことを実行できます。また、何か特別なものが必要になる可能性がある場合は、コンソールウィンドウを開くことができます。 dotnetですべてを実行したい場合、Visual Studioはすぐにやりすぎになり、Visual Studioコードはおそらくワークフローにとってはるかに効率的になります。

6
Chris Pratt

チュートリアルに従ってデータベースを更新している間、これらのコマンドを実行する必要がありました

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.
>

パッケージマネージャーコンソールでそれらを実行しようとしたとき、これは私が得た結果です:

プロジェクトが見つかりませんでした。現在の作業ディレクトリを変更するか、-projectオプションを使用します。

今、私はそれを少しググって、私がこれらのコマンドをウィンドウズコマンドプロンプト(ウィンドウズスタートサーチで「cmd」をタイプすることによって開かれた)で実行しなければならないというヒントを得ました。手順は次のとおりです。

  • ウィンドウを開くコマンドプロンプト
  • プロジェクトディレクトリを現在のディレクトリとして設定する
  • これを入力したように、必要なdotnetコマンドを実行します。dotnetef database update
  • 成功
2
salman

Visual Studio Package Manager Consoleで、少なくとも一部のdotnetコマンドと機能的に同等のコマンドレットを実行できます。

たとえば、dotnet efコマンドと同等の、呼び出すことができる一連のコマンドレットがあります。ここを参照してください: https://docs.Microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

したがって、パッケージマネージャコンソールのdotnet ef migrations add MaxLengthOnNamesAdd-Migration MaxLengthOnNamesに相当します。

また、パッケージマネージャーコンソールのdotnet ef database updateUpdate-Databaseに相当します。

リンクしたページを使用すると、残りのdotnet efコマンドに相当するコマンドレットを簡単に理解できます。

dotnet runについてはわかりません。

0
Simon Tewsi

そのための拡張機能があります。私は BuiltinCmdWhack Whack Terminal を試しましたが、後者の方がうまくいきました。 CMDとPowerShellのどちらかを選択できます。すべてのdotnet CLIコマンドは問題なく機能します。 Whack Whack terminal screenshot with dotnet watch run

0
Lev

追加されたVisual Studioのバージョンはわかりませんが、ツール...コマンドライン...開発者のコ​​マンドプロンプトは、ソリューションのルートでコマンドプロンプトを開きます。そこから、実行したいプロジェクトにcdしてからdotnet runを実行します。

また、お使いのバージョンのVisual Studioにそのメニューオプションがプリインストールされていない場合は、「外部ツール」として簡単に追加できます。 link

0
ncsu95