使用模拟器进行.NET CF单元测试 - 测试运行错误

时间:2012-08-08 13:51:29

标签: unit-testing compact-framework

测试运行错误:

执行所需的测试适配器('Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapter,Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a')此测试无法加载。检查测试适配器是否安装正确。错误:智能设备主机适配器无法初始化。

实际情况: 已知问题“辅助线程中的单元测试中的异常会导致vstesthost”

已经解决了添加 C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ VSTestHost.exe.config

以下一行:

Microsoft.VisualStudio.SmartDevice.UnitTestFramework.dll已添加到GAC:

“C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ gacutil.exe”-i“C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ PublicAssemblies \ Microsoft.VisualStudio.SmartDevice .UnitTestFramework.dll“

但我仍然收到错误消息,无法在模拟器上运行单元测试。

或者可能这仍是Visual Studio 2008尚未解决的问题,我应该尝试其他工具/可能性?

enter image description here

System.IO.FileNotFoundException未处理

系统无法找到文件

Source =“设备连接管理器”   堆栈跟踪:        在Microsoft.VisualStudio.DeviceConnectivity.Interop.ConManServerClass.DownloadPackage(String pwszPackageId)        在Microsoft.SmartDevice.Connectivity.FileDeployer.DownloadPackage(ObjectId packageId)        在Microsoft.VisualStudio.SmartDevice.TestHostAdapter.DeviceAgent.RunConfigDevice.InitializeStreamingWithDevice()        在Microsoft.VisualStudio.SmartDevice.TestHostAdapter.DeviceAgent.DeviceHostAdapter.initializeInternal()        在System.Threading.ThreadHelper.ThreadStart_Context(对象状态)        在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态)        在System.Threading.ThreadHelper.ThreadStart()   InnerException:

http://img688.imageshack.us/img688/2025/20120808testrunerrorexc.gif

2 个答案:

答案 0 :(得分:1)

如果您刚刚为移动设备安装了SDK,则可能已安装了尚未初始化的框架。尝试重新启动。

如果您安装了多个移动SDK(WM5,WM6.1,WM6.3.5等),请确保您的项目正在尝试启动您要定位的版本。

如果所有其他方法都失败了,您可以尝试卸载模拟器,重新启动(因为我们喜欢Windows),再次安装,重新启动(因为它仍然是Windows),然后返回到您的项目。

答案 1 :(得分:1)

我在这里找到了答案:http://social.msdn.microsoft.com/Forums/en/vssmartdevicesvbcs/thread/72fbc539-cf28-4643-b7bf-2ced70018d2e

  

也许不是最优雅的解决方案,但我只是将SmartDevice.UnitTestFramework.dll及其xml配置文件从VS 2008公共程序集文件夹复制到VS 2010公共程序集文件夹,它对我有用。

在我的机器上,对于VS2008

,这些文件夹是
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies

和VS2010

 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies

我收到2条错误消息。 vstesthost.exe崩溃,并在详细信息中提供此行

vstesthost.exe
Microsoft.SmartDevice.Connectivity
System.IO.FileNotFoundException

或者单元测试框架抛出此异常

"The system cannot find the file specified.\r\n"
"Device Connection Manager"
at Microsoft.VisualStudio.DeviceConnectivity.Interop.ConManServerClass.DownloadPackage(String pwszPackageId)
at Microsoft.SmartDevice.Connectivity.FileDeployer.DownloadPackage(ObjectId packageId)
at Microsoft.VisualStudio.SmartDevice.TestHostAdapter.DeviceAgent.RunConfigDevice.InitializeStreamingWithDevice()
at Microsoft.VisualStudio.SmartDevice.TestHostAdapter.DeviceAgent.DeviceHostAdapter.initializeInternal()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()