gpt4 book ai didi

.net - MSTest 失败并显示错误消息 'Results file does not exist. Publish failed'

转载 作者:行者123 更新时间:2023-12-04 05:50:43 26 4
gpt4 key购买 nike

我们正在使用 TFS 2010 来构建我们的解决方案并运行单元测试 (MSTest)。过去一切正常,当所有单元测试都通过时,我们的构建成功了。

但是,将我们的测试项目更新到 .Net 4 后,所有构建都失败并显示错误消息“结果文件不存在”。发布失败'。即使所有测试都通过,也会发生这种情况。

我们已经尝试安装 http://support.microsoft.com/kb/983504无济于事。

使用诊断日志运行 MSTest 会创建一个巨大的文件,但日志不包含错误消息。我觉得有点有趣的唯一一行是

TestFormatsConverter.LoadAsCurrentVersion: <path_to_build>\TestResults\tfsservice_<service> 2012-03-28 09_51_49_Any CPU_Debug.trx is already the current file format.



我们尚未更新的旧解决方案仍然成功。

更新

在构建过程中观察构建机器上的构建文件夹后,我注意到失败解决方案的 .trx 文件没有在 TestResults 文件夹中创建。对于旧解决方案,将创建该文件。升级到 .Net 4 可能会导致 .trx 文件未被创建有什么原因吗?

最佳答案

所以事实证明,这个问题毕竟有解决方案!

实际发生的是 MSTest 运行了两次;一次使用 MSTest 10,一次使用 MSTest 9。第一次运行涵盖了我们所有的 .Net 4 测试项目,并按照预期创建和发布测试结果。

但是,我们的源代码还包含一个名为 Microsoft.Reactive.Testing.dll 的 .Net 2 程序集。 ,它包含在 Reactive Framework (1.0.10621) 的最新 (.Net 4) 安装程序中。 MSTest 10 无法运行 .Net 2 测试,因此会启动另一个测试运行。

不幸的是,Microsoft.Reactive.Testing.dll仅包含在测试运行中,因为它的名称中包含“test”。它实际上不包含任何单元测试。因此,不会运行任何测试,不会创建任何结果文件,也不会发布任何结果文件。

解决办法很简单:换.Net 2版本Microsoft.Reactive.Testing.dll使用 .Net 4 版本。这可以使用 NuGet 下载。

关于.net - MSTest 失败并显示错误消息 'Results file does not exist. Publish failed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10087622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com