指定された絶対パスで 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
上でオプションを指定する必要があります。watch
run
dotnet watch --project C:\foo\bar\Project\Project.csproj run
メモがありますドキュメントこれは次の内容をカバーします:
監視するプロジェクトを指定するには、 を使用します
dotnet watch --project <PROJECT>
。たとえば、dotnet watch --project WebApp run
サンプルアプリのルートから実行すると、次のプロジェクトも実行され、監視されます。ウェブアプリプロジェクト。