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

System.Data.DataSetExtensions不';在Mono for Android配置文件中不存在,mono,xamarin.android,system.data,Mono,Xamarin.android,System.data,我已经将第三方.net库导入到使用DataSetExtension库的Mono for Android项目中。当我尝试编译时,会收到以下错误消息: 加载程序集时出现错误51异常:System.IO.FileNotFoundException:无法加载程序集'System.Data.DataSetExtensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'。也许它不存在于Mono for Android配置文

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

加载程序集时出现错误51异常:System.IO.FileNotFoundException:无法加载程序集'System.Data.DataSetExtensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'。也许它不存在于Mono for Android配置文件中? 文件名:“System.Data.DataSetExtensions.dll” 在Monodroid.Tuner.MonoDroidResolver.Resolve处(AssemblyNameReference引用,ReaderParameters参数) 位于Xamarin.Android.Tasks.ResolveAssemblys.AddAssemblyReferences(列表'1 Assemblys,AssemblyDefinition assembly)


为了解决这个问题,我可以从GAC添加.net System.Data.DataSetExtensions,并将其设置为copy local。但是,当我部署到设备上时,有人知道它是否可以工作吗?

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


您可以尝试的一件事是根据Mono for Android配置文件自己编译System.Data.DataSetExtensions。我不知道这是否可行,我自己也没有尝试过,但这将是一种简单的方法来确定这是否可行,并且比在应用程序中链接到.NET 4.0 DLL要安全得多。Mono的System.Data.DataSetExtensions实现在中可用。

我尝试了Mono实现,但由于guid错误,因此无法编译。我的解决方案是重写依赖DataSetExtensions的部分代码。此外,Mono的实现目前还不完整。我能够从Mono编译
System.Data.DataSetExtensions
项目。谢谢格雷格·沙克尔斯的回答。@Tiger你能(如果可能的话)分享更多关于你如何重写它的细节吗?我是新来的,这项工作,提前谢谢你