System.Data.DataSetExtensions 在 Mono for Android 配置文件中不存在



我已经将第三方 .net 库导入到我的 Mono for Android 项目中,该项目使用 DataSetExtension 库。当我尝试编译时,我收到以下错误消息:

加载程序集时出现错误 51 异常:System.IO.FileNotFoundException:无法加载程序集"System.Data.DataSetExtensions,版本=4.0.0.0,区域性=中性,公钥令牌=b77a5c561934e089"。也许它在 Mono for Android 配置文件中不存在?文件名:"System.Data.DataSetExtensions.dll" at Monodroid.Tuner.MonoDroidResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List'1 assemblies, AssemblyDefinition assembly)

为了解决此问题,我可以从 GAC 添加 .net System.Data.DataSetExtensions,并将其设置为复制本地。但是,有没有人知道当我部署到设备时它是否有效?

这通常不是一个好方法,因为如果 DLL 尝试访问 Mono for Android 配置文件中不可用的内容,您的应用程序将崩溃。这个答案对此有更多细节。配置文件中包含的程序集列表也可在 Xamarin 的网站上找到。在许多情况下,Mono for Android 配置文件与 Silverlight 配置文件非常相似,并且由于 System.Data.DataSetExtensions 不适用于 Silverlight,因此我并不感到惊讶。

您可以尝试的一件事是针对 Mono for Android 配置文件自行编译 System.Data.DataSetExtensions。我不知道这是否有效,也没有自己尝试过,但这将是找出是否可能的简单方法,并且比链接到应用程序中的 .NET 4.0 DLL 安全得多。Mono的System.Data.DataSetExtensions实现可以在他们的Github存储库中找到。

最新更新