2016-09-29 7 views
-1

C#で書かれたアプリケーションを移植します。 NET(Windows上で動作します)をLinuxで実行します。私が思った最初の解決策はモノを使用することです。 Mono Migration Analyzer MoMaを使用しようとしましたが、エラーはplateform呼び出しです。アプリケーションでは、kerne32.dllのようなWin32ネイティブ関数が呼び出され、Linuxに相当するものがあるかどうかを知りたいと思います。同じものを実装できる共有ライブラリ。natvie windows DLLと共有Linuxライブラリの間に同等のものがありますか.SO

私はこのトピックについてのモノのマニュアルを参照してください。http://www.mono-project.com/docs/advanced/pinvoke/

私もこれらの質問を確認してください。

How to write programs in C# .NET, to run them on Linux/Wine/Mono?

What would be the equivalent of Win32 API in linux?

しかし、私は、私のanswereを見つけられませんでした。

PS:excuse my english。

答えて

0

Windowsアプリケーションが直接システムAPIを呼び出す場合、Linuxへの直接変換はありません。 Windows上のシステムライブラリは、Linux上のシステムライブラリとはまったく異なります。明らかに、膨大な量の共通の機能と能力がありますが、それぞれのプラットフォームごとに別々の方法で公開されています。

現在のコードを掘り下げて翻訳する方法を検討する必要があります。最良の場合のシナリオは、既存のコードを使用して.netフレームワーク機能を使用するように変換することです。すべてのシステムp/invokeに対してこれを行うことができれば、2つのプラットフォーム間ではるかに多くのコードを共有する機会があります。そうすれば、.netフレームワークにプラットフォーム間の違いを管理する作業を任せることができます。 .netフレームワークを使用することができず、p/invokesに頼らなければならない場合は、各プラットフォーム用の注文コードが必要になります。

関連する問題