首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS2010 pro无法启动Moles主机

VS2010 pro无法启动Moles主机
EN

Stack Overflow用户
提问于 2013-09-11 18:05:14
回答 1查看 357关注 0票数 1

我们使用Moles框架(0.94.5)来编写单元测试用例,但不能调试或运行测试用例。

系统: Win7 64位

Moles: 0.94.5 64位,带VS 2010 pro

解决方案生成成功。但是在尝试运行测试用例时,我们得到了以下错误。

代码语言:javascript
复制
{
Error
9/6/2013 3:35:32 PM

System.InvalidOperationException  : Could not start Moles host. Please review the Test Run Errors for more information.   //error

   at Microsoft.Moles.VsHost.Agent.HostTestAdapterDriver.EnsureHostAdapter()
   at //error
Microsoft.Moles.VsHost.Agent.HostTestAdapterDriver.Microsoft.VisualStudio.TestTools.Execution.IBaseAdapter.Run(ITestElement testElement, ITestContext testContext)
   at Microsoft.Moles.VsHost.Agent.MolesAgentAdapter.Run(ITestElement testElement, ITestContext testContext)  //error 
U0319VM2184

我们还跟踪了fuslogvw,以确定在程序集加载过程中是否存在任何错误。它给出了两个错误,Moles说

代码语言:javascript
复制
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Program Files\Microsoft Moles\bin\moles.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = NORD\x03g
LOG: DisplayName = Microsoft.Moles, Version=0.94.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files/Microsoft Moles/bin/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = moles.exe
Calling assembly : moles, Version=0.94.0.0, Culture=neutral,   PublicKeyToken=31bf3856ad364e35.
}
===
LOG: Start binding of native image Microsoft.Moles, Version=0.94.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
WRN: No matching native image found.

我们检查了配置,一切似乎都很正常。在其中一篇博客中提到要从VS2010集成开发环境文件夹下的privateassemblies文件夹中删除.exe.config文件。但不能让它工作。

在执行上述操作之后,我们得到的错误是moles在与project所在的驱动器不同的驱动器中查找project dll。

卸载moles后,重新启动并安装moles,重新启动机器,但无济于事。

找不到合适的类别来张贴这篇文章。

谢谢

维基

EN

回答 1

Stack Overflow用户

发布于 2013-11-09 05:34:34

对于已经完成的研究,+1。我很欣赏它,它会带你走得更远。

我可以补充如下:你有一台64位的机器和64位的moles。你正在运行的测试也是64位的吗?如果是这样的话,下面的代码为我解决了这个问题。如果没有,无论如何都要尝试一下。

  1. 编辑您的测试设置。在VS2010中,转到测试->编辑测试设置。从左侧菜单中选择"Hosts“。
  2. 选择选项"Run test in 64 bit process on 64 bit machine".
  3. Save
  4. Now”打开测试项目中的AssemblyInfo.cs文件。
  5. 在该文件的底部,添加以下行[assembly: MolesAssemblySettings(Bitness = MolesBitness.x64)]
  6. Resolve

references。

这就是我所需要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18738251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档