在Visual Studio 2008 Pro上尝试在SmartDevice项目上执行单元测试时,我收到错误"VSTestHost.exe已停止工作"。
在调试单元测试时,我有以下异常FileNotFoundException
堆栈跟踪如下:
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()
有什么建议吗?
使用这个线程,它就工作了。
我使用了filemon.exe,发现出于某种原因,vstesthost.exe在VS 2010的公共程序集文件夹(c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies)中查找Microsoft.VisualStudio.SmartDevice.UnitTestFramework.dll,而不是VS 2008(c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssssembly)。
也许不是最优雅的解决方案,但我刚刚将SmartDevice.UnitTestFramework.dll及其xml配置文件从VS2008公共程序集文件夹复制到VS2010公共程序集文件文件夹,它对我有效。