2

そのため、物理デバイスへの展開用にビルドしようとすると、iPhone MonoTouch アプリで次のエラーがスローされます。

Error MT2002: Could not resolve: System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (MT2002) (IcondySingleView)

シミュレーターで完璧に動作します。

system.configuration への参照は dll にあります。

コンパイル中にもこの警告が表示されます。MYModel.dll には system.configuration への依存関係が含まれています。

Warning MT0011: MYModel.dll was built against a more recent runtime (NET_4_0) than MonoTouch supports. (MT0011) (IcondySingleView)

シミュレーターでビルドして実行するのに、デバイスへの展開では実行しないのはなぜですか。どこか同じ設定にしていいですか?

4

1 に答える 1

3

解決できませんでした: System.Configuration

MonoTouch は、Silverlight (2.1) プロファイルに基づくプロファイルと、多くの追加機能を提供します。このプロファイルには含まれていませSystem.Configuration- とにかく、デバイスにとってはあまり意味がありません。

警告 MT0011: MYModel.dll は、より新しいランタイム (NET_4_0) に対してビルドされました

また、MonoTouch は現在 (2013 年春に予定)、.NET 4.0 プロファイルをサポートしていません。うまくいくものもあるかもしれませんが、一般的には、アプリケーションを構築できないメンバーが見つからないことがあります。

シミュレーターでビルドして実行するのに、デバイスへの展開では実行しないのはなぜですか。

シミュレータで動作するのはなぜですか? それはJITを使用しているためです。ジャストインタイム コンパイルは、実行時にエラーが発生することを意味します (欠落している型/メンバーを使用するコード パスがヒットした場合)。

デバイスで失敗するのなぜですか? これは、JIT が許可されておらず、AOTコンパイラを使用しているためです。つまり、すべてが事前にコンパイルされているため、不足しているものがあるとエラーが発生します。

どこか同じ設定にしていいですか?

はい、MonoTouch に同梱されている SDK アセンブリに対してすべてのアセンブリを再構築する必要があります。これにより、使用可能な型/メンバーのみがアセンブリで参照されるようになります。これは、ビルド/実行時にすべてが利用可能であることが保証されていることを意味します。

于 2012-12-08T16:13:20.217 に答える