当前位置: 首页 > 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.zskr.cn/news/23830.html

相关文章:

  • [Linux] NeoVim安装和Lazyvim配置
  • ABC 随笔
  • 大数据分析基础及应用案例:第三周学习报告 ——Matplotlib 学习报告
  • 2025.10 训练日志
  • 矩阵的秩和逆
  • 全球AI推理扩展技术解析
  • 乱七八糟的知识点
  • 自监督学习在医疗AI中的技术搭建路径分析(下)
  • 2025/10/18
  • 模板机制作
  • 小马智行 VS 文远知行
  • nas webdav 挂载盘Git报错:fatal: detected dubious ownership in repository at - 何苦
  • 题解:P14254 分割(divide)
  • 【汇编和指令集 . 第2025 .10期】万般皆为投影
  • 小作业 12
  • 机器学习在视频质量检测中的技术应用
  • React Query入门指南:简化React应用中的信息获取
  • CSP-S模拟34/2025多校冲刺CSP模拟赛6
  • Java学习通互评5
  • 随机数技术
  • P6715 [CCO 2018] Fun Palace 题解
  • WebGL学习及项目实战(第03期:绘制多个点,线,面)
  • 专用硬件神经网络优化技术解析
  • Linux-网络安全私房菜(二)
  • pycharm使用远程的ssh的解释器
  • AI元人文:社区调解的数字剧场
  • 2025年粉末冶金制品/零件厂家推荐排行榜,专业制造与高品质服务的首选!
  • 15 接口的介绍
  • [PaperReading] SAIL-Embedding Technical Report: Omni-modal Embedding Foundation Model
  • Flash 8.0下载安装