VS2010 pro无法启动Moles主机

时间:2013-09-11 10:05:14

标签: c# asp.net .net moles

我们正在使用Moles框架(0.94.5)编写单元测试用例,但无法调试或运行测试用例。

系统:Win7 64位

摩尔:VS 2010 pro的0.94.5 64位

解决方案构建成功。但在尝试运行测试用例时,我们遇到以下错误。

{
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说了两个错误

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 IDE文件夹下的privateassemblies文件夹中删除.exe.config文件。但无法让它发挥作用。

在完成上述操作之后,我们得到的错误是在项目所在的不同驱动器中寻找项目dll的痣。

我们卸载摩尔重新启动并安装了摩尔重新启动机器但无济于事。

无法找到发布此内容的正确类别。

由于

维基

1 个答案:

答案 0 :(得分:2)

已完成研究的+1。非常感谢,并会让你远离这里。

我可以添加以下内容:您有64位机器和64位摩尔。您运行的测试也是64位吗?如果他们是,以下解决了这个问题。如果没有,无论如何都要试试。

  1. 编辑测试设置。在VS2010中,转到测试 - >编辑测试设置。从左侧菜单中选择“主机”。
  2. 选择“在64位计算机上运行64位进程中的测试”选项。
  3. 保存
  4. 现在打开测试项目中的AssemblyInfo.cs文件。
  5. 在文件底部添加以下行[assembly: MolesAssemblySettings(Bitness = MolesBitness.x64)]
  6. 解析所有参考文献。
  7. 这就是我所需要的一切。