调用executor'recutiveor:// mstestadapter / v1'时发生异常:对象引用未设置为对象的实例

时间:2013-01-24 15:34:50

标签: visual-studio tfs tfs2010

我们在项目中使用Visual Studio 2012和Team Foundation Server 2010。由于我们正在使用Microsoft Fakes,我们可能没有使用Team Build 2010的已启动测试功能,我创建了一个构建活动,它调用VSTest.Console.exe传递测试程序集。这种方法对我们来说效果很好。但是,在最近签入后,我们在执行Vstest.console.exe

时收到以下错误

错误:调用执行程序'executor:// mstestadapter / v1'时发生异常:对象引用未设置为对象的实例。

我将二进制文件复制到本地计算机,并且能够再次收到错误。有趣的是,我们在签入之前运行dev build,它运行相同的vstest.console.exe并使用相同的参数并且可以正常工作。我的机器上有两个文件夹,一个调用工作正常,另一个调用没有。编译的程序集看起来大小相同,并且没有太多差异可供建议。

我尝试使用进程监视器,但除了进程返回退出代码1之外,找不到任何明显的东西。有没有人对此错误了解多少?有什么方法可以从我的试运行中找到更多信息吗?

此致

哈密

8 个答案:

答案 0 :(得分:5)

我们已经解决了问题的根源。我们正在使用Entity Framework 5.0,我们也有一些情况,我们的一些测试程序集以.Net 4.0为目标,有些正在以.Net 4.5为目标。

当我们尝试运行测试时,针对不同版本的.Net框架和使用Entity Framework 5.0的程序集在同一个Test(vstest.console.exe)进程中运行,我们会收到此错误。

我认为这与Entity Framework 5.0附带两个版本(net40和net45)的方式有关。一旦在该过程中加载了一个版本的库,就无法加载另一个版本,这会导致错误。

答案 1 :(得分:3)

这对我有用: 在Visual Studio中,测试 - >测试设置 - >默认处理器架构 - > X64。

虽然它可能无法解决每个人的问题,但希望它可以帮助你们中的一些人。

答案 2 :(得分:2)

在项目的AssemblyInfo中指定AssemblyAttribute时,我在主题中指定了相同的错误:

[assembly: AssemblyCulture("en")]

如果存在此attribute,则单元测试的运行失败。 如果我删除了这行代码或删除了en语言,则单元的运行会测试成功。

答案 3 :(得分:1)

我刚刚使用新的 MSTest.Framework MSTest.TestAdapter Visual Studio 2017 时出现了同样的错误消息(为了能够使用实时单元测试)。事实证明我在我的解决方案中使用了这些软件包的多个版本。将它们整合到最新版本解决了这个问题。

答案 4 :(得分:1)

  

调用执行程序'executor:// mstestadapter / v2'

时发生异常

我的BuildAgents文件夹中有多个TestAdapter和TestFramework,删除v1.1.11版本解决了这个问题:

enter image description here

答案 5 :(得分:1)

我最近在 VS 2019 中遇到了这种情况。使用 NuGet 更新到最新版本的 MSTest.TestAdapter 和 MSTest.TestFramework 为我解决了这个问题。

答案 6 :(得分:0)

我尝试了网络上的所有内容来解决此异常。最后,我通过安装Visual Studio 2013的Update v4解决了这个问题(我现在正在使用它)。希望它有所帮助!

答案 7 :(得分:0)

删除app.config和packages.config(如果存在),并通过nuGet包重新安装Entity框架对我有用。