0

「Android.App.Fragment の解決に失敗しました」というメッセージが表示されたリンカー オプション = 「SDK のみ」の場合、コンパイル時エラーが発生します。すべては、MonoDroid アプリケーションに FragmentActivity による Google マップのサポートを追加したときに始まりました。

Linker オプション = "None" を使用すると、.apk が巨大になるという事実を除いて、すべて正常に動作します (リンク SDK のみが有効な場合は 7 MB ではなく 30 MB になります)。

エラーの詳細:

The "LinkAssemblies" task failed unexpectedly.
Mono.Cecil.ResolutionException: Failed to resolve Android.App.Fragment
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type)
   at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly)
   at Mono.Linker.Steps.MarkStep.Initialize()
   at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

私は多くの同様の問題(123)を見つけましたが、提案された唯一の解決策は、私のアプリには当てはまらないリンカを無効にすることでした。

問題を診断して修正するにはどうすればよいですか?

ティア!

4

3 に答える 3

0

最終的に GooglePlayServices Xamarin Component が 12.0.1 にアップデートされ、「SDK Only」リンカー フラグを使用してもエラーなしで使用できなくなりました。バインディングを事前にコンパイルすることなく、コンポーネント ストアから直接使用できます。

于 2013-10-19T05:16:15.523 に答える
0

どこでも Mono.Android.Support.v4 クラスを参照していますか?

于 2013-10-02T14:45:31.503 に答える
0

私はしばらくの間、オンとオフで同じ問題に苦労してきました。現在、私は Xamarin Updates のアルファ チャネルへの切り替えと、Xamarin.Android および Xamarin Studio のアルファ ビルドの使用に成功しています。これらのアルファ版を実行して、Linking を有効にして問題なくリリース ビルドを作成できました。それが役立つことを願っています!

于 2013-10-09T19:39:28.797 に答える