You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2019中dotnet-coverage报错“Failed to create CoreCLR, HRESULT:0x80004005”

解决Windows Server 2019自托管GitHub运行器中dotnet-coverage的“Failed to create CoreCLR, HRESULT: 0x80004005”错误

问题成因

  • .NET运行时版本不兼容:dotnet-coverage依赖特定版本的.NET Core/.NET Runtime,Windows Server 2019默认预装的版本可能过低,或与当前使用的工具版本不匹配,导致CoreCLR初始化失败。
  • 运行器权限不足:GitHub自托管运行器的服务账户缺少访问CoreCLR相关系统资源、文件的权限,比如无法读取.NET安装目录,或无法创建临时文件。
  • 工具版本存在兼容性问题:使用的dotnet-coverage版本存在bug,或与Windows Server 2019的系统环境不兼容。
  • 缺少必要的系统依赖:Windows Server 2019未安装CoreCLR运行所需的Microsoft Visual C++ Redistributable组件,导致运行时无法正常初始化。

解决方法

1. 检查并更新.NET运行时

  • 执行命令查看已安装的运行时版本:
    dotnet --list-runtimes
    
  • 确认是否包含dotnet-coverage要求的版本(通常需要.NET 5及以上版本)。若版本不足,下载对应版本的.NET Runtime安装包完成安装,之后重启GitHub运行器服务。

2. 提升运行器账户权限

  • 将GitHub自托管运行器的服务账户添加到本地管理员组,或确保账户对.NET安装目录、运行器工作目录拥有完全控制权限。
  • 打开服务管理器,找到GitHub运行器服务,右键选择「属性」-「登录」,确认使用的账户权限充足,必要时切换至管理员账户运行服务。

3. 调整dotnet-coverage工具版本

  • 升级到最新稳定版:
    dotnet tool update --global dotnet-coverage
    
  • 若最新版仍有问题,尝试降级到已知兼容的版本(例如17.5.0版本):
    dotnet tool install --global dotnet-coverage --version 17.5.0
    
  • 调整版本后,清理运行器的工作目录,重新执行构建流程。

4. 安装VC++ Redistributable组件

  • 下载与当前.NET运行时版本匹配的Microsoft Visual C++ Redistributable(优先选择x64版本),安装到Windows Server 2019系统中,完成后重启系统。

5. 额外排查步骤

  • 检查运行器工作目录所在磁盘的剩余空间,避免因磁盘满导致临时文件创建失败。
  • 执行dotnet --info查看系统环境信息,确认.NET环境变量配置正确,无版本冲突。

内容的提问来源于stack exchange,提问作者ilitirit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:09:28