2009-04-08 9 views

答えて

4

一般に、Microsoft.*名前空間からは何も使用しないでください.PInvoke(C#ではDllImport)もUIも問題になる可能性があります。

モノラル互換性の詳細については、モノガイドPorting Winforms Applicationsを参照してください。既存のアプリケーションは、Migration Analyzerツールを使用して互換性をチェックできます。

UPDATE:PInvokeは実際にはMonoで動作しますが、クロスプラットフォームで動作させたい場合は、プラットフォームごとに同じインタフェースを持つネイティブ共有ライブラリを用意する必要があります。つまりWin APIはではありません。

-2

私はそれがモノラルで可能であるかどうかわからないんだけど、WIN32 API呼び出しは間違いなく動作しません。)

+0

どのような役に立たない答え。 –

0

ことがあるので、あなたは、非常に少なくとも、試してみて、Windowsフォームを使用しないようにしたいでしょうWindowsのネイティブUIの上に紙の薄いレイヤーだけがあります。

モノはワインの助けを借りて多少エミュレートしますが、私はそれを信じません。 モノはこれまでしましたが、その努力は放棄されました。詳細については、WinForms on Monoを参照してください。ありがとうjpobst

クロスプラットフォームサポートのために、GTK#またはQt#を使用してみてください(後者が実際に存在するかどうかはわかりませんが)。また、C#の代わりにSWTやSwingを使ってJavaを使うことも考えられますが、それはおそらくあなたが検討したいオプションではありません。

P/Invokeに関連するものを使用することはおそらく移植性の低いネイティブコードを呼び出すため、悪い考えです(あなたが書いた場合を除いて移植可能にすることができます)。

+0

GTKまたはQT用のMSVSでGUIを構築するにはどうすればよいですか? –

+0

このチュートリアルを読むことで始めることができます。http://mono-project.com/GtkSharpBeginnersGuide .NETでのQtの使用はもう少し複雑ですが、http://doc.trolltechをご覧ください。 com/4.2/activeqt-dotnet.html –

+0

ワインを使用しているモノが間違っています。 MonoのWinformsの実装は完全に管理されており、System.Drawingを使用してすべてのコントロールを描画します。 – jpobst

1

DIVOの勧告に加えて、私はMono Migration Analyzer (MoMA) toolをお勧めします。また

を、私は続けるだろう「モノ移行アナライザ(ニューヨーク近代美術館)ツールはあなたがモノラルに.NETアプリケーションを移植する際に持っている可能性のある問題を識別するのに役立ちます」 Miguel de Icaza's blogの目、Mono Project websiteの目。

今月、Boston.NET Users Groupのプレゼンテーションで、彼はVMを使ってMonoであなたのアプリケーションを起動するVisual Studioプラグインのプレビューを示しました!これにより、開発プロセス中の互換性をテストできます。

私はTechEd 2009でリリースすることを目標としていたと思いますので、来月以降のアップデートをお探しください。

関連する問題