MSTest:"指定的文件扩展名'.dll'不是有效的测试扩展名"。

7
我在VS2010中有一个测试项目,需要从命令行运行单元测试。在一台机器上,以下步骤可以正常工作:
1)通过“MSBuild test_project.csproj”构建测试
2)通过“MSTest /testcontainer:test_project.dll”运行测试
但在另一台机器上,第二步会产生一个奇怪的错误消息,即:“指定的文件扩展名‘.dll’不是有效的测试扩展名”。
有任何想法如何解决这个问题吗?
谢谢!
5个回答

4
检查安装了Visual Studio 2010的计算机上的注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\EnterpriseTools\QualityTools\TestTypes\。其中包含有关MSTest允许扩展名的所有条目。最好搜索测试类型键(例如{13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b}),并确保它们存在(.dll必须在允许的扩展名列表中)。

1
非常希望在VS2012/VS2015中得到更新的答案。 - Peter PitLock
对于2017年安装的VS 2017企业版评估版本,我可以毫无问题地运行mstest.exe。 - Gregory Suvalian

2

1
我在使用Visual Studio 2019时遇到了同样的问题,实际上是出现在一台电脑上。对于一个用户帐户,一切正常,但对于另一个帐户,我遇到了这个错误。
我意识到对于第二个用户帐户,我从未启动过Visual Studio。
为了解决这个问题,我只需要以第二个用户帐户登录并启动Visual Studio,然后MSTest之后就能成功运行了。

1
如果您缺少以下任何文件,则可能导致此异常:

enter image description here

文件可以在同一目录或任何配置的目录中。配置的位置可以在 MSTest.exe.config 中作为 probing 元素上的属性找到。

0

我已经阅读了这里,它说现在"mstest已经过时"。请使用vstest - 在GitHub Actions上运行自托管运行程序的工作流程时,我遇到了同样的问题。

使用VSTest问题已经解决。

注意:请仔细遵循命令行语法,以避免出现意外问题。


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