2012-06-25 3 views
2

DataSetExtension 라이브러리를 사용하는 Android 용 Mono 프로젝트에 타사 .net 라이브러리를 가져 왔습니다. 컴파일하려고하면 다음과 같은 오류 메시지가 나타납니다.System.Data.DataSetExtensions가 Android 용 Mono 프로필에 존재하지 않습니다.

오류 51 어셈블리를로드하는 중 예외가 발생했습니다. System.IO.FileNotFoundException : 어셈블리를로드 할 수 없습니다. 'System.Data.DataSetExtensions, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 '. 아마도 Android 용 프로필에 Mono에없는 것일까 요? 파일 이름 'System.Data.DataSetExtensions.dll' Monodroid.Tuner.MonoDroidResolver.Resolve (AssemblyNameReference 참조, ReaderParameters 파라미터) Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences에서 (List`1 어셈블리 AssemblyDefinition 조립체)에서

이 문제를 해결하려면 GAC에서 .net System.Data.DataSetExtensions를 추가하고 로컬로 복사하도록 설정할 수 있습니다. 그러나 장치에 배포 할 때 작동하는 경우 아무에게도 단서가 있습니까?

답변

2

DLL이 Android 용 Mono 프로필에서 사용할 수없는 것을 액세스하려고하면 응용 프로그램이 충돌하기 때문에 일반적으로 좋은 방법이 아닙니다. This answer에 대한 자세한 내용이 있습니다. 프로필에 포함 된 어셈블리 목록은 Xamarin's site에서도 사용할 수 있습니다. 대부분의 경우 Android 용 Mono 프로필은 Silverlight와 매우 유사하며 Silverlight에서는 System.Data.DataSetExtensions를 사용할 수 없기 때문에 여기에없는 것은 놀라운 일이 아닙니다.

시도해 볼 수있는 한 가지 방법은 System.Data.DataSetExtensions를 Android 용 Mono 프로필과 비교하여 직접 컴파일하는 것입니다. 이 방법이 효과가 있는지 나 자신이 직접 시도하지는 못했지만 가능한지 알아내는 쉬운 방법이 될 것이며 응용 프로그램의 .NET 4.0 DLL에 연결하는 것보다 훨씬 안전 할 것입니다. Mono의 System.Data.DataSetExtensions 구현은 their Github repository에서 사용할 수 있습니다.

+0

모노 구현을 시도했지만 guid가 잘못 되었기 때문에 컴파일되지 않았습니다. 내 솔루션은 DataSetExtensions에 의존하는 코드의 일부를 다시 작성하는 것이 었습니다. 또한 모노 구현은 아직 불완전합니다. – AstronautTiger

+0

'System.Data.DataSetExtensions' 프로젝트를 모노로부터 컴파일 할 수 있습니다. 귀하의 답변에 대해 Greg Shackles에게 감사드립니다. – vijayP

관련 문제