测试程序集'*.dll'无法加载。错误详细信息:找不到文件'*.dll'。

4
更新:我发现每次运行测试都会创建一个新文件夹(Benjamin_C12LPCRE 'date' 'time'),但dll文件并没有被创建,而我最初认为它只是丢失了。
我所做的:
1.在测试项目中删除并重新添加对主项目(DCIM)的引用 2.删除并重新添加对Microsoft.VisualStudio.QualityTools.UnitTestFramework的引用 3.构建、重建和清理(不一定按照这个顺序)主项目、测试项目和整个解决方案 4.删除整个解决方案中的所有“obj”和“bin”文件夹。 5.在测试项目中,在[TestClass()]和[TestMethod()]声明之前都添加了[DeploymentItem("DCIM.dll")]属性
那么我如何确保所有必需的文件都被正确创建呢?
原问题: 昨天我的测试正常运行,我最近对项目进行了重新命名,这导致一些测试出现了混乱,但现在我的所有测试都无法工作,并显示以下错误:
测试程序集'C:\Visual Studio 2010\Projects\DCIM\TestResults\Benjamin_C12LPCRE 2014-04-29 11_57_58\Out\DCIM Test.dll'无法加载。错误详细信息: 找不到文件'C:\Visual Studio 2010\Projects\DCIM\TestResults\Benjamin_C12LPCRE 2014-04-29 11_57_58\Out\DCIM Test.dll'。
我检查了文件路径,结果没有dll。
是否应该有?有没有办法解决这个问题?
测试项目与主项目在同一个解决方案中,正如我所说,我最近重命名了我的项目,这导致一些错误,我已经在这里问过。

作为一种合理性检查,您是否已经移除并重新添加了引用? - Grant Thomas
@GrantThomas 我试过了,但没有用。我甚至删除了所有测试项目,删除了所有对它的引用并删除了测试项目,然后重新创建它,但仍然没有运气。 - Ben
@Pierre-LucPineault 哦,好的,我手动完成了所有操作,所以一切都匹配,但它仍然显示“找不到'Test Results\DCIM.dll' :(” - Ben
但是,如果消息显示“找不到'Test Results \ DCIM.dll'”,那么它正在寻找旧项目。您是否检查了测试类上的“using”子句是否尝试使用旧项目? - Nahuel Ianni
@NahuelI。当我第一次开始重命名东西时,这引起了问题,但我将using DCIM_With_Test(旧)更改为using DCIM(新),它运行了一段时间,但现在不行了..? - Ben
显示剩余6条评论
2个回答

1

当远程计算机的磁盘上没有可用空间时,我曾经遇到过相同的问题。清理空间可以解决这个问题。


0

我会尝试两件事:

  • 删除整个解决方案中的所有“obj”和“bin”文件夹(它们将在构建时重新创建)
  • 在您的测试项目中,在[TestMethod]属性之前添加[DeploymentItem("DCIM.dll")]属性(您也可以在[TestClass]属性之前放置它)

然后重新构建一切并再次尝试。


编辑:

作者在评论中回答: 我打开了“输出”窗口,看看是否能够跟踪发生了什么奇怪的事情。即使我选择了两个项目进行构建,输出窗口也会跳过测试项目。因此,我取消了两个项目的勾选,重新构建了解决方案,然后重新勾选了两个项目,现在它又可以正常工作了。非常奇怪。

由于解决方案出现在评论中并且不是我的,我将此答案标记为“社区维基”。


没有起作用。Visual Studio 出了什么问题吗?也许需要重新安装一下? - Ben
你能重现这个问题吗?我的意思是创建一个简单的控制台应用程序项目,其中包含一个方法,在测试项目中执行测试,类似地进行重命名。如果问题发生,请逐步说明如何重现该问题。 - Bru
项目的设置中显然有些问题。 - Ben
DCIM.exe吗?奇怪的是,DCIM测试需要*.dll文件,并且在没有它的情况下编译成DCIM Test.dll。无论如何,如果DCIM不应该是应用程序,请在DCIM项目属性中更改项目类型为类库,并在DCIM Tet项目中删除并添加对DCIM项目的引用。如果它是一个应用程序,请确保DCIM项目属性中的项目类型正确(例如控制台应用程序)。将[DeploymentItem]从“DCIM.dll”更改为“DCIM.exe”,并在DCIM Test项目中删除和添加对DCIM项目的引用。简而言之,尽量确保DCIM Test将查找DCIM.exe而不是DCIM.dll。 - Bru
1
我找到了! 我打开了“输出”窗口,以查看是否可以跟踪正在发生的事情,但在构建过程中出现了一些奇怪的情况。 即使我已经选择了两个项目进行构建,但输出窗口中跳过了测试项目。 因此,我取消选中两个项目进行构建,重新构建了解决方案,然后重新选中两个项目,现在它又可以正常工作了。非常奇怪。 - Ben
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接