c# - dotnet watch run 命令中的绝对路径不起作用
问题描述
要使用指定的绝对路径运行 dotnet 核心应用程序,我们需要运行以下命令:
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 help 指定
-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 运行
尽管 '--verbose' 是 dotnet-watch 支持的选项,但使用 '--' 表示应将 '--verbose' 视为 dotnet-run 的参数。
示例: dotnet watch 运行 dotnet watch 测试
那怎么了?dotnet watch run
为什么项目的绝对路径在使用时不起作用dotnet run
?
解决方案
您可以通过在命令而不是命令上指定-p
(或更长的--project
)选项来解决此问题。在你的情况下,那将是:watch
run
dotnet watch -p C:\foo\bar\Project\Project.csproj run
文档中有一条注释涵盖了这一点:
您可以使用
dotnet watch --project <PROJECT>
来指定要观看的项目。例如,dotnet watch --project WebApp run
从示例应用程序的根目录运行也将运行并监视WebApp项目。
推荐阅读
- node.js - 如何在 WSL 2 Ubuntu 中更新 npm
- c++ - 使用数组在地图中插入 - 错误:无法将“int&&”类型的右值引用绑定到“int”类型的左值
- c++ - 如何在 C++ 中安全地实现可重用的暂存内存?
- swift - 从 openweathermap.org 加载数据
- node.js - npm 安装失败;node_modules 消失
- javascript - 从 JavaFX 迁移到 HTML/JavaScript
- node.js - 通过使用 express、EJS、Google Cloud 动态生成签名 URL 来显示图像
- java - 休眠 Postgres - findById() 不起作用
- c# - 抓住罗技 Easy-Switch 按键
- rust - Solana Rust 智能合约如何获得区块高度或 Unix 时间?