ASP.NET Core集成测试报错:找不到testhost.deps.json的解决方法
解决ASP.NET Core集成测试找不到testhost.deps.json的问题
修复步骤
1. 配置测试项目的PreserveCompilationContext
打开IntegrationTesting项目的.csproj文件,添加或确认以下配置:
<PropertyGroup> <PreserveCompilationContext>true</PreserveCompilationContext> </PropertyGroup>
保存后重新生成整个解决方案。
2. 禁用测试影子复制
- Visual Studio操作:
- 打开测试资源管理器,点击顶部的设置图标(齿轮样式)
- 取消勾选「启用影子复制」选项,重启测试运行
- 命令行操作:
运行测试时添加--no-shadow参数:dotnet test --no-shadow
3. 确认测试项目引用API项目
检查测试项目的.csproj,确保已正确引用目标API项目:
<ItemGroup> <ProjectReference Include="..\YourApiProject\YourApiProject.csproj" /> </ItemGroup>
替换路径为实际API项目的位置,重新生成项目。
4. 手动复制缺失文件(临时方案)
从API项目的输出目录(如YourApiProject\bin\Debug\net7.0)复制testhost.deps.json到测试项目的输出目录(IntegrationTesting\bin\Debug\net7.0),再运行测试。
5. 清理并重新生成解决方案
- 选择「生成」→「清理解决方案」
- 再选择「生成」→「重新生成解决方案」
- 重新运行测试
内容的提问来源于stack exchange,提问作者vahid zaker
相关产品推荐
相关产品推荐

