2012-03-21 13 views
1

"system.entrypointnotfoundexception:loadlibrary"の取得SevenZipLib.dllを使用して、Android evn内のメディアコンテンツ/ファイルを含む.7zファイルを解凍しようとしています。Android evn内の.7zファイルの解凍に関する問題

状況: - プログラム全体がMONO Android ProjectとしてC#で書かれています。ビルド/デプロイメントエラー/警告はありません。 apkを実行しているときに、その "system.entrypointnotfoundexception:loadlibrary"がスローされます。 - また、Windowsプロジェクト(モノラルではない)と同じコードがテストされ、ウィンドウevnで解凍されました。問題の

仮定: 7zipをは内部&モノラルフレームワークがサポートされていないCOMコンポーネントを使用している場合があります。

質問:

は誰でも同様の問題に遭遇していますか?私のapkが.7zファイルを解凍するのに使用できるいくつかの代替dll/frameworkを提案してください。

答えて

3

SevenZipLib.dllSevenZipLib Library on CodePlexであると仮定すると、問題がSevenZipLib\SevelZipLib\SevenZipArchive.csです:

[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] 
private static extern SafeLibraryHandle LoadLibrary(
    [MarshalAs(UnmanagedType.LPTStr)] string lpFileName); 

プロジェクトが含まれている数多くのP /を呼び出しますkernel32.dllLoadLibrary()GetProcAddress()FreeLibrary())、ole32.dllPropVariantClear())、oleaut32.dllSafeArrayCreateVector())に、もっと。

要するに、このライブラリはWindowsと緊密に結びついており、意味のあるやり方でWindows以外のプラットフォームでは動作しません。

AndroidアプリケーションのMonoで7zサポートが必要な場合は、別のライブラリを調べる必要があります。 7-zip SDKには、P/Invokeに依存しないLZMAファイルを読むためのC#ソースが含まれているようですので、おそらく動作しますか?

+0

誰かがM4Aで7zip SDK C#バージョンを正常に使用しましたか? – John

関連する問題