我在Windows Phone 8.1应用程序(winrt,没有silverlight)上使用C ++子项目中的类时检索以下消息:
(System.IO.FileNotFoundException)"指定的模块不能 找到。 (HRESULT异常:0x8007007E)"
我之前遇到过这个错误,当我为W8.1(桌面,x86和ARM)开发相同的应用程序时。我用 procmon.exe (进程监视器)解决了这个问题,它记录了所有搜索到的库及其结果(找到/未找到)。
使用 procmon.exe 工具,我找到了找不到的库(curl,websockets,ogg,sqlite3),并且我添加到主项目根目录中。这解决了桌面问题。
现在我将开发的应用程序(Windows 8.1桌面)移植到WindowsPhone 8.1 winrt(没有Silverlight)。
我遇到了同样的问题,我添加了与桌面项目(curl,websockets,ogg,sqlite3)相同的库,但它会抛出相同的异常(加载库,因为如果我添加然后,在ARM构建上的x86版本抛出" BadImageException"而不是)。
编辑1:
让我给你一个项目结构的细分: - AppCS:C#启动项目。目标是Windows Phone 8.1(winrt,没有silverlight)。 参考文献AppCS&有以下dll作为内容:
ogg:
libogg.dll
libvorbis.dll
libvorbisfile.dll
websockets:
libwebsockets.dll
curl:
libcurl.dll
libeay32.dll
ssleay32.dll
sqlite3:
sqlite3.dll
AppCPP:C ++ dll库。目标Windows Phone 8.1(v120_wp81工具集)。 这是游戏核心。参考文献libcocos
libcocos:dll库; Windows Phone 8.1(v120_wp81)和Windows之间的共享项目Windows 8.1。 这是游戏引擎,我假设正在使用dll(来自AppCS)。
任何建议的解决方案/工具来解决它?
答案 0 :(得分:0)
最后我可以解决这个问题。正如预期的那样,我没有附上正确的dll。 似乎没有一种很酷/简单的方法来检测它,所以,你应该在一个大多数空的测试项目上识别它: