C# 项目崩溃时C++引用的项目:“System.IO.FileNotFoundException”

本文关键字:项目 System IO FileNotFoundException 崩溃 C++ 引用 | 更新日期: 2023-09-27 18:35:07

当我在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:DLL库;Windows Phone 8.1(v120_wp81)和Windows 8.1之间的共享项目。这是游戏引擎,我假设正在使用dll(来自AppCS)。

任何建议的解决方案/工具来解决它?

C# 项目崩溃时C++引用的项目:“System.IO.FileNotFoundException”

最后我可以解决这个问题了。正如预期的那样,我没有连接正确的dll。似乎没有一种很酷/简单的方法来检测它,因此,您应该在一个几乎为空的测试项目中识别它:

https://social.msdn.microsoft.com/Forums/windowsapps/en-US/968eecee-a1f8-456f-886d-5600c8968fb2/wp81-c-project-crash-when-using-c-project-systemiofilenotfoundexception?forum=wpdevelop#968eecee-a1f8-456f-886d-5600c8968fb2

相关文章: