dotnet watch run コマンドの絶対パスが機能しない 質問する

dotnet watch run コマンドの絶対パスが機能しない 質問する

指定された絶対パスで dotnet core アプリケーションを実行するには、次のコマンドを実行する必要があります。

dotnet run -p C:\foo\bar\Project\Project.csproj

しかし、以下のようには同じようには動作しないようですdotnet watch run:

watch : Could not find a MSBuild project file in 'C:\directory\where\we\execute\command'. Specify which project to use with the --project option.

-projectただし、の代わりに を使って同じコマンドを実行しても-p役に立ちません...

Dotnet watch ヘルプでは、とにかくパラメータを指定し-pます-project:

Microsoft DotNet ファイル ウォッチャー 2.1.1-rtm-30846

使用方法: dotnet watch [オプション] [[--] ...]

オプション: -?|-h|--help ヘルプ情報を表示します
-p|--project 監視するプロジェクト -q|--quiet 警告とエラー以外のすべての出力を抑制します -v|--verbose
詳細出力を表示します --list ウォッチャーを起動せずに検出されたすべてのファイルを一覧表示します --version バージョン情報を表示します

環境変数:

DOTNET_USE_POLLING_FILE_WATCHER を '1' または 'true' に設定すると、dotnet-watch はファイル システムの変更をポーリングします。これは、ネットワーク共有、Docker マウントされたボリューム、その他の仮想ファイル システムなど、一部のファイル システムで必要です。

DOTNET_WATCH dotnet-watch は、起動されたすべての子プロセスでこの変数を '1' に設定します。

注釈: 特殊オプション '--' は、子 dotnet プロセスに渡されるオプションの終了と引数の開始を区切るために使用されます。このオプションの使用は任意です。特殊オプション '--' を使用しない場合、dotnet-watch は、認識されない最初の引数を、子 dotnet プロセスに渡されるすべての引数の開始として使用します。

例えば: dotnet watch -- --verbose run

'--verbose' は dotnet-watch がサポートするオプションですが、'--' を使用すると、'--verbose' は dotnet-run の引数として扱われることになります。

例: dotnet watch run dotnet watch test

では何が問題なのでしょうか? プロジェクトへの絶対パスはdotnet watch runでは機能するのに、 では機能しないのはなぜですかdotnet run?

ベストアンサー1

コマンドではなくコマンド--project上でオプションを指定する必要があります。watchrun

dotnet watch --project C:\foo\bar\Project\Project.csproj run

メモがありますドキュメントこれは次の内容をカバーします:

監視するプロジェクトを指定するには、 を使用しますdotnet watch --project <PROJECT>。たとえば、dotnet watch --project WebApp runサンプルアプリのルートから実行すると、次のプロジェクトも実行され、監視されます。ウェブアプリプロジェクト。

おすすめ記事