2012-02-19 10 views
1

私のアプリはシミュレータに問題なくビルド/デプロイを試みましたが、初めて、私はリンカーの失敗を取得します。MonoTouchリンカはSystem.Voidを解決できませんSystem.Console :: set_ForegroundColor(System.ConsoleColor)

私のアプリではSystem.ConsoleまたはConsoleColorを使用していませんが、かなりの量のコードをUIColorで使用しています。ここにいくつかのMT依存関係があるのだろうかと思います。

私は最新のものを使用しています - MonoDevelop 2.8.6.5とMonoTouch 5.2.5。

ネイティブコードにコンパイル/開発/ MonoTouchでは/ usr/binに/のmTouch -sdkroot "/開発" -v --nomanifest --nosign -dev 「/ユーザ/ ogazitt/zaplify/binに/ iPhone/Debug/iphone.app "-r " /Users/ogazitt/zaplify/bin/iPhone/Debug/BuiltSteady.Zaplify.Devices.ClientEntities.dll " -r"/Users/ogazitt/zaplify/bin/iPhone/Debug/Utilities.dll "-r" /Users/ogazitt/zaplify/bin/iPhone/Debug/BuiltSteady.Zaplify.Devices.ClientViewModels.dll " -r" /Developer/MonoTouch/usr/lib/mono/2.1/System.dll "-r" /Developer/MonoTouch/usr/lib/mono/2.1/System.Xml.dll "-r " /Developer/MonoTouch/usr/lib/mono/2.1/System.Core.dll "-r " /開発者/ MonoTouch/usr/lib/mono/2.1/monotouch.dll "-r " /Developer/MonoTouch/usr/lib/mono/2.1/MonoTouch.Dialog-1.dll "-debug -profiling -linksdkonly -sdk" 5.0 "" /Users/ogazitt/zaplify/bin/iPhone/Debug/zaplifyiphone.exe "Monotouch バージョン5.2.5フレームワークを使用: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk コピー/ユーザー/ ogazitt/zaplify/bin/iPhone/Debug/zaplifyiphone.exe〜 /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app/zaplifyiphone.exe コピー/ユーザー/ ogazitt/zaplify/bin/iPhone/Debug/SharpCompress.3.5.dll 〜 /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app/SharpCompress.3.5.dll コピー /ユーザー/ ogazitt/zaplify/bin/iPhone/Debuグラム/ Newtonsoft.Json.MonoTouch.dll に/Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app/Newtonsoft.Json.MonoTouch.dll リンクSDKのみ組立 用/ユーザ/ ogazitt/zaplify/bin/iPhone/Debug/zaplifyiphone.exeに /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.appのエラーMT2002: は解決できません。参照:System.Void System.Console :: set_ForegroundColor(System.ConsoleColorあなたの組立依存関係の1つがSystem.Console.ForegroundColor財産とSystem.ConsoleColorタイプの両方への参照が含まれている可能性が非常に高いです)

答えて

5

JIT(Just in Time)コンパイラがこの場合(高速ビルド)使用され、実行がConsoleColorコードに決して届かない場合は、MonoTouchのmscorlib.dllから欠落していることはありません。

しかし、MonoTouchは、Appleがでなく、がiOSデバイスでJITを許可しているため、AOT(先行時間)コンパイラを使用する必要があります。つまり、実行時に使用しない場合でもすべてをネイティブコードにコンパイルする必要があります。 ConsoleColorのように欠けているものは、エラーになります。

参照があるアセンブリが不明な場合は、バグレポートを開いてください。すべての.dllファイルと添付ファイルを添付してください。exe(アタッチメントにプライベートとマークすることができます)、アセンブリの識別に役立ちます。

+0

ありがとう(もう一度)Sebastien!アセンブリブラウザーの私の依存関係を調べることで、私の依存関係(SharpCompress)の1つに、System、System.Core、およびmscorlibへの参照が未解決であることが分かりました。依存関係を削除すると、問題はなくなりました。私の質問は - .NETアセンブリがAOTコンパイラで正常に動作するためには、常にMTアセンブリのリファレンスに対してコンパイルする必要があるのでしょうか? –

+2

*常に*(理論上)*常に*再コンパイルが**解決策であると言うには100%に近い(実際には): - ) – poupou