2016-10-29 35 views
1

私のプロジェクトでは、テスト段階にある、私はすべてのエミュレータでOK、それを試してみた、1つの物理デバイス上でOKデバッグが、出力ウィンドウに印刷され、次のメッセージを別の物理デバイスのために失敗しました:Java.Interop.dllから参照される以下のアセンブリを読み込めませんでした。System.Runtime 4.0.0.0?

10-29 09:43:18.376 W/Mono (16624): The following assembly referenced from Java.Interop.dll could not be loaded: 
10-29 09:43:18.376 W/Mono (16624):  Assembly: System.Runtime (assemblyref_index=1) 
10-29 09:43:18.376 W/Mono (16624):  Version: 4.0.0.0 
10-29 09:43:18.376 W/Mono (16624):  Public Key: b03f5f7f11d50a3a 
10-29 09:43:18.376 W/Mono (16624): The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/). 
10-29 09:43:18.376 D/Mono (16624): Failed to load assembly Java.Interop[0x6c0a0040] 
10-29 09:43:18.376 W/Mono (16624): Could not load file or assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 
10-29 09:43:18.376 E/mono-rt (16624): Stacktrace: 
10-29 09:43:18.376 E/mono-rt (16624): 
10-29 09:43:18.376 E/mono-rt (16624): 
10-29 09:43:18.376 E/mono-rt (16624): Attempting native Android stacktrace: 
10-29 09:43:18.376 E/mono-rt (16624): 
10-29 09:43:18.385 E/mono-rt (16624): at ???+0 [0x63ee7667] 
10-29 09:43:18.386 E/mono-rt (16624): at mono_class_get_field_from_name+31 [0x63ee773f] 
10-29 09:43:18.387 E/mono-rt (16624): at ???+31 [0x7355c91b] 
10-29 09:43:18.387 E/mono-rt (16624): at ???+31 [0x7355cb5c] 
10-29 09:43:18.387 E/mono-rt (16624): at Java_mono_android_Runtime_init+2099 [0x7355efbb] 
10-29 09:43:18.387 E/mono-rt (16624): at ???+2099 [0x64783962] 
10-29 09:43:18.388 E/mono-rt (16624): 
10-29 09:43:18.388 E/mono-rt (16624): ================================================================= 
10-29 09:43:18.388 E/mono-rt (16624): Got a SIGSEGV while executing native code. This usually indicates 
10-29 09:43:18.388 E/mono-rt (16624): a fatal error in the mono runtime or one of the native libraries 
10-29 09:43:18.388 E/mono-rt (16624): used by your application. 
10-29 09:43:18.388 E/mono-rt (16624): =================================================================  

問題は私のコードでは確実ではありません(実行はコード内のどこにでもジャンプするチャンスがなく、コードはKitkat 4.4を実行する別の物理デバイスで正常に動作します)。私がテストしているデバイスは、Lollipop 5.0を実行します(したがって、APIはKitkatがサポートするものを確実にサポートするはずです)。

私は、署名されたAPKを作成し、その最終ビルドをデバイスにインストールしようとはしませんでしたが、デバッグを先に行う必要があります。これがADBインタフェースドライバの障害のいくつかの問題に関連するかどうかもわかりません。 (ただし、デバイスは正常に接続されており、その名前はVisual Studioに表示されます)。

私はこの問題について周りを回りましたが、何も見つかりませんでした(ほんのわずかの結果)。メッセージによると、これはSystem.Runtimeのように見えるはずですか? (不思議なことに、私のプロジェクトでは参照されていないが、それでもすべてのエミュレータと1つの物理デバイスで正常に動作し、建物は常に成功する)。私は私のプロジェクトで参照として追加するアセンブリを見つけることも試みたが、適切な(参照マネージャウィンドウから)見つからなかった。

ここで誰かが私を助けてくれる可能性が間違っていると思うことを願っています。私がテストしているデバイスが、私たちのクライアントのための実行デバイスとして選ばれるかもしれないことが真剣に重要です。ご協力ありがとうございました!更新

:私はより少し掘ってみたとADBインターフェースドライバが正常に動作することを確認することができます

は(いくつかのアプリを構築し、OKをデバッグすることができます)。ただし、Visual Studioで新しい空白のAndroidプロジェクトを作成すると自動的に生成される)Hello world(上記と同じ例外を除いて)はデバッグできません。 Xamarin Androidは明らかに間違っています。

+0

バージョンは何のために非常に参考になると思いますか?私は最初に** Java.Interop **と** Systemを追加しようとします。ランタイム**はあなたのAndroidプロジェクトへの参照をして、あなたのAndroidとPCLのプロジェクトディレクトリからすべての '/ obj /'と '/ bin /'フォルダを削除して再構築します。 ** Java.Interop **リファレンスは、C:¥Program Files(x86)¥Reference Assemblies¥Microsoft¥Framework¥MonoAndroid¥v1.0¥Java.Interop.dll'および** System.Runtime * *リファレンスは次の場所にあります:C:¥Program Files(x86)¥Reference Assemblies¥Microsoft¥Framework¥MonoAndroid¥v1.0¥Facades¥System.Runtime.dll' – hvaughan3

+0

Xamarin Visualスタジオバージョンは4.1、Monoandroidバージョンは6.0です。 - あなたが示唆したように参照を追加しようとしましたが、 'System.Runtime'を追加できませんでした(警告黄色のマークがあります)。 – Hopeless

+0

@ hvaughan3ここで手動でアセンブリを参照することとは関係ありません。いつものようにすべてがうまくいくはずです。この問題には、*** Fast Deployment ***を使用することが含まれます。このオプションは、残念なことに私のデバイスでは機能しません。 – Hopeless

答えて

2

は、それは私のデバイスがオプションを持っている経由でアプリがOKデバッグという私にとって非常に幸運だ使用高速展開(私はちょうど私の現在のプロジェクトでこれをunticking試み、それが働いていた)チェックを外す:

enter image description here

高速展開オプションのように見えるため、建物のプロセスリンクの参照が間違っています(そのため、参照されていないアセンブリが明確な理由で見つからない)。

私のデバイスでこのオプションが機能しないのは、ADBインターフェイスドライバのために部分的に発生する可能性があります。このドライバは、デバイス製造元からの非公式のドライバではなく、すべてのアンドロイドデバイス用の一般的なADBインタフェースドライバです(署名されていないため、一般的なドライバをインストールできるようにドライバシグネチャエンフォースメントを無効にしなければなりません)私のデバイス上で。

私はこの答えは同じような状況に遭遇したもの:) Xamarinメーカー/ Visual StudioのプラグインXamarinの

関連する問題