2011-12-19 10 views
0

monodevelopと一緒にmono 2.10をインストールしました。ubuntuでmonodelveopを使っていくつかのアプリケーションをコーディングしました。これらのアプリケーションのいくつかは、System.Web.Script.Serialization名前空間の一部であるJavaScriptSerializerにアクセスする必要がありました。monoと一緒に出荷されるシステムlibaririesの混乱

JavaScriptSerializerをインスタンス化して使用するためには、私のアプリケーションへの参照をmonodevelopで追加する必要がありました。しかし、私が選べる2つのパッケージがあるようです: "system.web"という名前のパッケージ。拡張子 "と呼ばれ、もう一つは"モノラル "と呼ばれます。

私が最初のパッケージ(system.web.extensions)を使用すると、JavaSerializerを使用するときにランタイムエラーが発生します。私は代わりに "モノ"の参照を使用してみましたとうまく動作します。

これまでのところとても良いです。しかし今、私はWindowsの下でこの同じアプリを実行したいと思うし、System.Web.Exceptionsの "アセンブリをロードできません"というエラーが出ます。

私はこの時点で混乱しています:これらのアセンブリの一部にはモノ/モノデベロッパーと一緒に出荷される2つのパッケージはありますが、クロスプラットフォームにするためにはどちらを使用する必要がありますか?

ありがとうございます! マイケル

+0

問題を解決した場合、回答を受け入れたものとしてマークすることを忘れないでください。 – CedX

答えて

2

なぜ のいくつかのこれらのアセンブリのためのモノ/ MonoDevelopのに同梱されて二つのパッケージがあるのですか?

モノアセンブリは、内部アセンブリの一種であり、.NET Frameworkには含まれていない追加の機能を提供します。システムアセンブリは時にはこれらに依存する(すなわち、ASP.NET WebサービスのためのMono.Web)。

クロスプラットフォームにするために使用する必要があるのはどれですか?

常にシステムを使用してください。 Monoアセンブリは.NET Frameworkでは使用できません(手動で出荷しない限り)。

Mono 2.10には、System.Web.Extensionsアセンブリの2つのバージョン1.0.61025.0と4.0.0.0があります。必ず4.0バージョンを使用してください。 問題が解決しない場合は、コードを投稿できますか? (私にとって、JavaScriptSerializerを使用しても問題ありません)

+0

お返事ありがとうございます。 –

関連する問題