Debug 에서는 에러가 발생이 안되었는데

배포하려고 Release 에서 빌드하니 아래와 같은 에러가 발생되었다.

심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류  "LinkAssemblies" 작업에서 예기치 않은 오류가 발생했습니다.
Mono.Linker.MarkException: Error processing method: 'System.Void Android.Support.V4.App.ActivityCompatApi23/SharedElementCallbackImpl::n_OnSharedElementsArrived_Ljava_util_List_Ljava_util_List_Landroid_app_SharedElementCallback_OnSharedElementsReadyListener_(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)' in assembly: 'Xamarin.Android.Support.Compat.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve Android.App.SharedElementCallback/IOnSharedElementsReadyListener
   위치: Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference)
   위치: Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   위치: MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   위치: Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   위치: Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   위치: Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- 내부 예외 스택 추적의 끝 ---
   위치: Mono.Linker.Steps.MarkStep.ProcessQueue()
   위치: Mono.Linker.Steps.MarkStep.ProcessEntireQueue()
   위치: Mono.Linker.Steps.MarkStep.Process()
   위치: Mono.Linker.Steps.MarkStep.Process(LinkContext context)
   위치: Mono.Linker.Pipeline.Process(LinkContext context)
   위치: MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context)
   위치: Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
   위치: Xamarin.Android.Tasks.LinkAssemblies.Execute()
   위치: Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   위치: Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() SMSConveyPro  

프로젝트->속성->Android 옵션 에서 아래 처럼 Linking 항목을 SDK 및 사용자 어셈블리 로 변경하니 정상적으로 빌드가 되었다.

 

참고 : https://forums.xamarin.com/discussion/22358/building-release-version-for-android-failed

+ Recent posts