VS2022调试模式下带路径命令行参数解析异常的解决办法
解决VS2022 Launch Profile命令行参数路径转义异常的问题
针对你遇到的单反斜杠被解析为转义字符(如换行)导致路径失效的问题,提供以下几种可行方案:
在启动参数中使用双反斜杠:由于VS的launchSettings.json本质是JSON文件,反斜杠需要转义,所以把路径里的每个
\替换成\\,配置改为:/exepath="C:\\Sandbox\\scheduling-services\\Projects\\LSS.Host\\bin\\Debug\\net6.0-windows\\LSS.Host.exe"改用正斜杠作为路径分隔符:Windows系统支持正斜杠作为路径分隔符,直接把路径里的
\换成/,无需处理转义,配置改为:/exepath="C:/Sandbox/scheduling-services/Projects/LSS.Host/bin/Debug/net6.0-windows/LSS.Host.exe"代码层面补正路径:如果暂时不想修改启动配置,可以在读取命令行参数后,对路径进行处理,把被错误解析的转义字符还原。比如在获取
exepath参数值后,执行字符串替换:string exepath = GetCommandLineArgument("exepath"); exepath = exepath.Replace("\n", "\\"); // 针对被解析为换行的情况 // 或者用通用方法还原转义字符 exepath = System.Text.RegularExpressions.Regex.Unescape(exepath);直接编辑launchSettings.json文件:有时候通过VS UI修改参数容易出现转义疏漏,直接找到项目下的
Properties/launchSettings.json文件,手动修改对应的commandLineArgs字段,确保字符串格式和转义符正确。
内容的提问来源于stack exchange,提问作者Kixoka
相关产品推荐
相关产品推荐

