运行C#中的Windows 8的Parallels错误

问题描述:

在Windows 7窗体应用程序我写了一个非常简单的C#Windows Forms应用,和他的同事希望利用Parallels 8来测试它在Windows 7上,因为他只拥有一台Mac。运行C#中的Windows 8的Parallels错误

的问题是,当他开始它使用在debug文件夹中的EXE文件,他得到这个错误:

Error starting OMAPI (Unable to load DLL 'libomapi.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)) Check the required .dll files are present the correct versions: OmApiNet.dll libomapi.dll

你可以从下面的图片看到,所需的DLL文件都在那里在同一个文件夹中,如果他将这个调试文件夹带到Windows PC上,它就可以正常工作,所以它绝对是某种虚拟机或Parallels特有的问题。

Screenshot of error

我怎样才能解决这个问题?

我还没有真正使用足够了解的问题可能是什么虚拟机...

+4

可执行文件和库的格式是什么?鉴于它在同一个文件夹中,它应该找到它,所以我想知道它是否是一个糟糕的格式问题(32位与64位)? – Lloyd 2013-03-21 18:01:54

+2

你也可能会发现它是一个外部依赖问题,在你的其他设置上并不存在你的并行设置,尝试使用Dependency Walker - http://www.dependencywalker.com/ – Lloyd 2013-03-21 18:06:00

+7

我见过一些有趣的东西如果项目是针对AnyCPU编译的,但依赖库是x86并且目标操作系统是x64,则会发生。 – 2013-03-21 18:06:14

它很有趣,在其上运行ProcMon,看看它真的这样做,试图找到这些文件。

这可能是更多的网络驱动器问题。让他从Y:驱动器(从他的Mac共享)将该文件夹复制到C:驱动器并从那里再次运行。

它看起来像你试图从网络共享运行应用程序,其中.NET平台禁止作为其安全风险。尝试将文件复制到虚拟机上的其他位置,例如C:\ Temp。