【发布时间】:2016-09-06 02:25:50
【问题描述】:
在 Visual Studio 中处理 C# 项目时,我的一项更改导致许多单元测试(使用 VSTest 运行)失败并出现以下错误:
System.IO.FileLoadException: 无法加载文件或程序集“Microsoft.Data.Edm ...” 找到的程序集的清单定义与程序集引用不匹配。
我搁置了我的更改并回滚到项目的最新版本,但是回滚并不能解决问题。我尝试删除所有本地工作区文件并提取最新代码,但并没有解决问题。我也试过清除我机器上的 NuGet 缓存,但也没有任何效果。
项目本身可以正确构建和运行,并且在其他开发人员的环境中运行时所有测试都通过了,所以我猜这是 VSTest 或 NuGet 缓存此特定库的旧版本的问题。我找不到任何缓存或设置会导致此类问题的迹象。
有没有办法重置 VSTest 设置和/或缓存?如果有人知道为什么即使在删除我的本地工作区并重新开始之后,这样的问题仍然存在,我会特别感兴趣。
【问题讨论】:
-
我遇到了类似的问题。 Web 应用程序构建并运行良好。我添加了一个单元测试项目,并将 web.config 复制到单元测试项目的 app.config 中,以便它具有数据库连接字符串。单元测试通过。但是下次我尝试运行 Web 应用程序时,浏览器会显示此错误清单不匹配。回滚更改并不能修复它。但是回滚并获取最新信息。
标签: c# visual-studio nuget vstest