2011-07-21 16 views
3

他のWinforms製品で使用されているVisual Studio 2010でビルドされた既存の.NETアセンブリがあるとします。サードパーティの依存関係はありません。MonoTouchで既存の.NETライブラリを再利用する方法

私はそのライブラリをMonoTouchソリューションで直接再利用したいと考えています。

私のMonoTouch UIプロジェクト内から私のライブラリへの参照を追加できるようにするには、新しいcsprojファイルを作成し、そこにあるすべてのソースファイルへのリンクを作成する必要があります。

これは機能しますが、保守負担です。より良い方法が必要でしょうか?

ありがとうございます。

答えて

6

現時点では、アセンブリを再構築する必要があります。これは、Silverlightに同梱されている基本クラスライブラリ(BCL)のスーパーセットであるモノタッチBCL(たとえば、別のmscorlib.dll)にリンクされるためです。

MonoTouch(と​​Mono、Mono for Android ...)の新しいリリースが、フレームワーク間でコンパイルされたバイナリを簡単に共有できるようにする新しい "ポータブルライブラリ"をサポートすることを望みます。

http://blogs.msdn.com/b/bclteam/archive/2011/01/19/announcing-portable-library-tools-ctp-justin-van-patten.aspx

+0

うん、私は理解することができ、問題ではないアセンブリを再構築する。この状況ではMonoDevelopが少しスマートになると思っていたかもしれません。ご回答有難うございます。 – tomfanning

2

信じられないかもしれませんが、あなたが実際にあなたの共有アセンブリは、MonoTouchでと、それは非互換になるだろう、他のアセンブリを参照していない限り、VS.NETに建てられた.dllのlibが参照できます。私は現在、私たちのプロジェクトでこれをやっています。参照された.dllはSystemSystem.Coreにのみ依存し、基本的にはPOCOのセットになります。私は、より良い知識を持つ人が、.dllと互換性のないものを作るために必要なことを正確に伝えることができると確信しています。 SystemまたはSystem.Coreの互換性のないAPI呼び出しを使用しても、poupouの回答ごとに破損する可能性がありますが、共有された.dllをシンプルに保ち続ければうまくいくはずです。

+1

DLLを参照することは一つのことですが、ライブラリプロジェクトにプロジェクト参照を追加することはできません。ターゲットフレームワークのバージョンが間違っていることがあります。それは私が本当にやりたいことです。 – tomfanning

+1

ええ、それについては申し訳ありません。あなたができることは、あなたがすでにやっていることです。ファイルリンクで追加する新しいプロジェクトを作成する。 –

関連する問題