C# .NET 5.0项目在VS Code调试模式下无法运行单元测试如何解决?
[目标进程已退出,且未引发CoreCLR触发的事件。请确认目标进程已配置为使用.NET Core。如果目标进程未在.NET Core下启动,就可能出现该问题。]
------------------------------------------------------------------- You may only use the Microsoft .NET Core Debugger (vsdbg) with Visual Studio Code, Visual Studio or Visual Studio for Mac software to help you develop and test your applications. ------------------------------------------------------------------- 目标进程已退出,且未引发CoreCLR触发的事件。请确认目标进程已配置为使用.NET Core。如果目标进程未在.NET Core下启动,就可能出现该问题。 程序 "[424] QuadEqua.dll" 已退出,退出代码为 -2147450749 (0x80008083)。
错误说明
上述退出代码0x80008083属于.NET运行时启动故障,核心触发原因是运行的程序集与当前环境的.NET版本不匹配,或是启动配置指向了无法独立运行的类库文件。
解决步骤
- 核对项目框架版本
打开二次方程求解类库、单元测试两个项目的.csproj文件,确认<TargetFramework>标签的值统一为net5.0,不能出现两个项目目标框架版本不一致的情况。 - 修正VS Code调试配置
打开工作区.vscode目录下的launch.json文件:- 确认
program字段指向单元测试项目生成的dll文件,不要指向类库项目的QuadEqua.dll,类库无法直接作为启动项目运行 - 确认调试配置的
type字段值为coreclr
- 确认
- 清理重建项目缓存
在解决方案根目录打开终端,依次执行以下命令:
确认构建全程无报错。dotnet clean dotnet restore dotnet build - 核对单元测试项目依赖
确认单元测试项目已正确引用二次方程求解类库,同时安装了兼容.NET 5的测试框架依赖:- xUnit用户需安装
Microsoft.NET.Test.Sdk、xunit、xunit.runner.visualstudio三个NuGet包 - MSTest用户需安装
Microsoft.NET.Test.Sdk、MSTest.TestAdapter、MSTest.TestFramework三个NuGet包
- xUnit用户需安装
- 调整调试启动方式
不要直接按F5启动调试,打开VS Code测试资源管理器,找到对应单元测试用例后点击用例旁的调试按钮启动,避免启动配置关联错误项目。
内容的提问来源于stack exchange,提问作者Rayyota
相关产品推荐
相关产品推荐

