当前位置: 首页 > news >正文

Asp.Net Core 解决使用 Docker调试时出现“准备容器时发生了一个非关键性错误。项目将继续正常工作。错误为: 路径中具有非法字符。”

参考

  • 豆包
  • https://learn.microsoft.com/en-us/visualstudio/containers/container-launch-settings?view=vs-2022

环境

软件/系统 版本 说明
Windows windows 10 专业版 22H2 64 位操作系统, 基于 x64 的处理器
Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.14.17
.NET 8
Docker Desktop 4.48.0
Docker Docker version 28.5.1, build e180ab8
Docker Compose Docker Compose version v2.40.0-desktop.1

报错内容

准备容器时发生了一个非关键性错误。项目将继续正常工作。错误为: 路径中具有非法字符。

“ContainerBuildAndLaunch”任务意外失败。
System.ArgumentException: 路径中具有非法字符。在 System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)在 System.IO.Path.Combine(String path1, String path2)在 Microsoft.VisualStudio.Containers.Tools.Common.PathUtilities.FindFullCommandPathFromPathVariable(String command, String[] extensions)在 Microsoft.VisualStudio.Containers.Tools.Common.Client.DockerClient.FindFullDockerCommandPath()在 Microsoft.VisualStudio.Containers.Tools.Common.Prerequisites.DockerForWindowsRunningPrerequisite.<IsDockerFunctioningAsync>d__2.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)在 Microsoft.VisualStudio.Containers.Tools.Common.Prerequisites.DockerForWindowsRunningPrerequisite.<EvaluateAsync>d__1.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 Microsoft.VisualStudio.Containers.Tools.Common.Prerequisites.CompositePrerequisite.<EvaluateAsync>d__2.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)在 Microsoft.VisualStudio.Containers.Tools.Shared.ContainerLaunchPrerequisiteTaskUtilities.<EvaluateBuildPrerequisitesAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)在 Microsoft.VisualStudio.Containers.Tools.Tasks.ContainerBuildTask.<ExecuteAsync>d__30.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)在 Microsoft.VisualStudio.Containers.Tools.Tasks.ContainerBuildTask.Execute()在 Microsoft.Build.BackEnd.TaskExecutionHost.Execute()在 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

解决步骤

  1. 进入 CMD ,输入 PATH 查看系统路径内是否有特殊字符,如";等。(由于我的电脑已解决,仅作文字描述)
    image

  2. 进入设置->系统信息->高级系统设置->环境变量 内检查,主要检查用户变量系统变量Path的值。
    image

  3. 主要检查每行是否有多余的分号或者如果使用引号进行包裹多行为一行的内容,修改示例如下:

    • 多余分号
      • 错误内容
        ;C:\Program Files\Git\cmd
        
      • 修改后的内容(删除了多余的开头分号)
        C:\Program Files\Git\cmd
        
    • 单行内出现多个分号分隔(这一方法仅供参考,不能确定该操作是否生效)
      • 错误内容
        C:\Program Files\Git\cmd;C:\Program Files\Git\cmd;C:\Program Files\Git\cmd;
        
      • 修改后的内容(拆为多行)
        C:\Program Files\Git\cmd
        C:\Program Files\Git\cmd
        C:\Program Files\Git\cmd
        

    image

  4. 重启编辑器、重新构建即可。

http://www.jsqmd.com/news/16135/

相关文章:

  • [Linux] NeoVim安装和Lazyvim配置
  • ABC 随笔
  • 大数据分析基础及应用案例:第三周学习报告 ——Matplotlib 学习报告
  • 2025.10 训练日志
  • 全球AI推理扩展技术解析
  • 矩阵的秩和逆
  • 乱七八糟的知识点
  • 自监督学习在医疗AI中的技术搭建路径分析(下)
  • AtCoder Beginner Contest 428
  • swtich的应用
  • 2025/10/18
  • 模板机制作
  • P14253 旅行(trip)题解 - 符星珞
  • 因式分解
  • [Perl]install DateTime module
  • 20251018 杂题 总结
  • 【做题记录】P9753 [CSP-S 2023] 消消乐
  • [Linux] homebrew MacOS和Linux下的软件管理工具
  • nas webdav 挂载盘Git报错:fatal: detected dubious ownership in repository at - 何苦
  • 南京icpc-c题:
  • 学生信息管理系统(DAO模式重构)项目报告
  • 思科公司分析
  • 开源嵌入模型对比:让你的RAG检索又快又准
  • C++lambda表达式简单笔记
  • 智慧城市基础设施漏洞分析与国家安全影响
  • ️ PostgreSQL 数据类型
  • CSP-J/S 2025 第一轮游记
  • 【汇编和指令集 . 第2025 .10期】万般皆为投影
  • 小作业 12