我正在移植一些C#代碼,我們在Windows上通過Mono在Mac上使用。在我們的代碼中,我們調用一個非託管的C++ dll。不幸的是,我們的構建過程只能在Mac上發佈Framework文件而不是dylib文件。在Mono Mac上的P/Invoke到.framework文件中
當我移植我的Mono代碼時,一切正常,但P \ Invoke進入框架文件。我試圖將框架文件添加到應該在默認搜索路徑中的/ Library/Frameworks文件夾,但我一直收到DllNotFound異常。根據Mono Interop Guide Mono將.so添加爲在Mac上搜索的擴展名存在問題。所以我嘗試添加一個配置文件,並將目標作爲一個.framework文件,但仍得到相同的異常。 Mono指南提到,使用Frameworks進行P \ Invoke變得更加複雜,但沒有提到確切的問題或如何避開它們。
任何人都知道如何在單聲道中調用框架?
此問題已解決。問題是,即使主框架本身被發現,我的框架依賴的其他庫也不在我的機器上。一旦我複製這些庫,P/Invoke工作正常。 – user408410