首页 文章

TFS 2010正试图在MSTest 2008下运行MsTest 2010项目

提问于
浏览
2

我有一个CI构建设置来构建我的解决方案并运行我的单元测试 . 解决方案是VS 2010.我的测试项目针对4.0框架 . 并且正确引用了10.0版本的单元测试框架 . 如果我在VS 2010中本地运行测试,我没有问题 . 但是,当我在TFS服务器(即TFS 2010)上运行我的CI构建时,我收到一条错误消息:

找不到文件:C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ MSTest.exe

这是VS 2008的MSTest,它没有安装在我的TFS服务器上 . 我确实在我的TFS服务器上安装了VS 2010,包括测试工具,但是TFS没有查找它 .

我的问题:为什么TFS会尝试使用此版本的MSTest来运行测试?我无法在服务器上的任何项目,解决方案或配置中找到此路径 .

该解决方案和相关项目始于VS 2008项目并迁移到VS 2010.这些文件被全新安装到TFS 2010和新的TFS项目中 . 它们未从2008 TFS服务器迁移 .

Activity Log

Full Log

谢谢!

2 回答

  • 1

    从查看日志来看,问题是MSTest使用错误的版本在这里运行,因为您有一个旧的程序集引用 .

    确保您的单元测试项目和正在执行的任何其他项目都具有对新mstest程序集的正确程序集引用 . 我猜你要么错过了参考文献,要么添加到新的参考文献中并忘记删除旧的参考文献 .

    “我无法在服务器上的任何项目,解决方案或配置中找到指定的路径 . ”

    是的,你不会在任何地方看到路径 - 它只会根据单元测试项目中引用的程序集执行 .

  • 2

    只是对此进行跟进,因为我最终发现了导致我的问题的原因,而不是上面给出的答案 . 我们在这个项目中引用了第三方断言实用程序类似“应该”称为“SoftwareApproach.TestingExtensions” . 这个dll是一个较旧的,包含对MSTest 9的引用(来自VS 2008) . 因为这个dll引用了MSTest 9,所以它在构建服务器上引起了这个错误,但是,测试会在本地运行 . 坦率地说,不知道为什么它没有在本地抱怨,因为没有绑定重定向并且没有安装VS 2008 .

    但是,更新到所提到的dll的构建,而不是引用MSTest 10解决了构建服务器上的问题 .

相关问题