使用 C++ 引用项目时 C# 项目崩溃:"System.IO.FileNotFoundException"
C# project crash when using C++ referenced project: "System.IO.FileNotFoundException"
当我在 Windows Phone 8.1 应用程序(winrt,无 silverlight)上使用 C++ 子项目的 类 时,我正在检索以下消息:
(System.IO.FileNotFoundException) "The specified module could not be
found. (Exception from 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),但它仍然抛出相同的异常(加载库,因为如果我添加x86 版本,在 ARM 构建上,则抛出 "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 8.1 之间的共享项目。
这是游戏引擎,我假设正在使用 dll(来自 AppCS)。
有什么建议solution/tool可以解决吗?
我终于可以解决这个问题了。正如预期的那样,我没有附加正确的 dll。
似乎没有 cool/easy 检测它的方法,所以,你应该在一个几乎是空的测试项目上识别它:
当我在 Windows Phone 8.1 应用程序(winrt,无 silverlight)上使用 C++ 子项目的 类 时,我正在检索以下消息:
(System.IO.FileNotFoundException) "The specified module could not be found. (Exception from 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),但它仍然抛出相同的异常(加载库,因为如果我添加x86 版本,在 ARM 构建上,则抛出 "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 8.1 之间的共享项目。 这是游戏引擎,我假设正在使用 dll(来自 AppCS)。
有什么建议solution/tool可以解决吗?
我终于可以解决这个问题了。正如预期的那样,我没有附加正确的 dll。 似乎没有 cool/easy 检测它的方法,所以,你应该在一个几乎是空的测试项目上识别它: