Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的TearDown方法抛出以下System.TypeLoadException?_C#_.net_Visual Studio_Coded Ui Tests_Microsoft Test Manager - Fatal编程技术网

C# 为什么我的TearDown方法抛出以下System.TypeLoadException?

C# 为什么我的TearDown方法抛出以下System.TypeLoadException?,c#,.net,visual-studio,coded-ui-tests,microsoft-test-manager,C#,.net,Visual Studio,Coded Ui Tests,Microsoft Test Manager,设置 我在运行Windows 8.1 x64的机器上安装了TFS 2012、VS 2013和Test Controller 2013 我已经安装了一个Windows7x86VM,在它上面我按顺序安装了VS2012、VS2013和TestController2012。虚拟机是我的测试控制器 问题 我试图测试一个非常简单的场景,其中我有一个手动编程的编码UI测试;我没有使用Internet Explorer与google.com一起启动的录制和播放功能,我搜索的是术语计算器 这在我的机器上很好用。但

设置

我在运行Windows 8.1 x64的机器上安装了TFS 2012、VS 2013和Test Controller 2013

我已经安装了一个Windows7x86VM,在它上面我按顺序安装了VS2012、VS2013和TestController2012。虚拟机是我的测试控制器

问题

我试图测试一个非常简单的场景,其中我有一个手动编程的编码UI测试;我没有使用Internet Explorer与google.com一起启动的录制和播放功能,我搜索的是术语计算器

这在我的机器上很好用。但是,当我尝试通过测试管理器运行测试时,我得到以下错误:

TestCleanup方法CalculateTest.TestCases.CalculateTest.TearDown引发异常。System.TypeLoadException:System.TypeLoadException:无法从程序集“Microsoft.VisualStudio.TestTools.UITesting.ApplicationBase”加载类型“Microsoft.VisualStudio.TestTools.UITesting”,版本=11.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a”

浏览器随google.com一起启动,但在不执行搜索的情况下很快关闭,上面的错误消息显示在测试管理器中


有谁能帮我解释一下这背后的原因吗?

这似乎是Visual studio版本控制问题,我猜既然您同时安装了VS2012和2013,正在加载不正确的程序集版本。我将查看未能加载的程序集的引用,并检查在引用中specificversion属性是否设置为false。如果这不起作用,请尝试删除并重新添加引用,例如,如果您正在运行的是2012 framework版本。

尝试将引用的copy local设置为“true”,然后创建一个要使用MTM进行测试的生成。

我尝试将特定的version属性设置为false,但遗憾的是没有帮助。我还尝试将Microsoft.VisualStudio.TestTools.UITesting的DLL复制到作为解决方案一部分的文件夹中,并添加了复制的DLL作为所述库的参考。我原以为这样可以避免任何版本冲突,但不幸的是,我仍然遇到了这个问题。您的目标是.net framework的哪个版本,4还是4.5。您想使用vs 2012还是2013?e、 g.如果您想使用2012而不是2013,有时在项目位置,您可以删除.suo文件,然后右键单击并使用2012打开。还值得尝试下面提到的引用的copy local属性,这将强制它使用您所针对的程序集框架版本的特定版本。我将4.5设置为目标框架,并打算使用VS 2013。这是2012年唯一的TFS和测试控制器。另外,我正在使用Microsoft Test Manager 2013检查另一件事-可能值得尝试以下操作:在解决方案资源管理器中,右键单击解决方案,然后单击配置。尝试将活动解决方案平台更改为x86或x64,然后尝试重新生成,然后再运行一次。