Xamarin System.Data.Linq 里面 PCL

Xamarin System.Data.Linq inside PCL

我有一个 PCL,它通过 dll 本身包含 System.Data.Linq(.Mappings)。这适用于 iOS、Windows 和 MacOS,但不适用于 Android.

Temp:

我一回到工作岗位就会 post 错误信息,但我记得是 "Could not load file or assembly System.Data.Linq"。没找到

我知道 PCL 中不支持此命名空间,但奇怪的是它在除 Xamarin:Android 以外的每个项目类型中都有效(是的,我用它创建了多个项目)。 =12=]

有什么我可以尝试的,例如自己实现代码、将程序集嵌入本机代码或其他什么?

感谢您的帮助

Is there anything I could try like implementing the code myself, embed assemblies in native code, or something else?

我认为没有。如您所知,System.Data.Linq 在 PCL 后不可用,并且在 Android(或 Java)中还没有 lambda 表达式。我们还需要尊重 PCL 的设计,它用于编写和构建可在多个 .NET Framework 平台上运行的托管程序集。因此,如果使用此 PCL 的项目不支持 method/dll 或其他内容,则不应将此 method/dll 放在 PCL 中。

此外,Xamarin.Forms 被设计为 cross-platform UI 工具包,允许开发人员轻松创建可在 Android、iOS,以及 Windows Phone。主要是目标共享UI。当然你也可以在其PCL中调用method/dll时指定平台,例如这样:

#if __MOBILE__
// Xamarin iOS or Android-specific code
#endif

关于指定平台的更多信息,您可以参考Dealing with Multiple Platforms