如何在 xamarin ios pcl 中使用 protobuf-net
Posted
技术标签:
【中文标题】如何在 xamarin ios pcl 中使用 protobuf-net【英文标题】:how to use protobuf-net in the xamarin ios pcl 【发布时间】:2013-11-20 04:33:02 【问题描述】:我正在尝试将 protobuf-net 与新的 xamarin ios pcl 一起使用,它的 nuget 数据包似乎不支持该框架。有没有办法将 protobuf-net 导入 pcl?
更新: 我刚刚发现使用新的 Xamarin PCL 定义重新编译 PCL 可以引用生成的库。干得好!当有新版本发布到 Nuget 时让我知道。
【问题讨论】:
【参考方案1】:NuGet 包包括 PCL 删除,但我不清楚你会让我在这里对 NuGet 包进行什么更改,因为我不知道具体的“Xamarin”目标; example targets are described here; protobuf-net 目前包含一个广泛的目标 portable-sl4+net40+wp7+windows8
。如果您知道适用于 Xamarin for iOS 的目标(或确实是 PCL 构建组合),请告诉我。
我还应该注意,NuGet drop 是“完整”实现,其中元编程是在运行时执行的。由于 iOS 中的限制,您可能会发现使用“CoreOnly”实现结合“预编译”工具可以获得更好的性能,该工具可从 google-code drop 获得。 This is described here.
【讨论】:
嘿,Mark - Xamarin 最近为 IOS 引入了完整的 PCL 配置文件,我刚刚重新编译了这些配置文件,请参阅此处blog.xamarin.com/pcl-projects-and-vs2013 嗨 @MarcGravell 支持便携式目标配置文件 259 [portable-win8+net45+wp8+wpa81] 会很好 - 请参阅 [此处] (embed.plnkr.co/03ck2dCtnJogBKHJ9EjY/preview)【参考方案2】:通过为我的可移植库手动编辑 .csproj 文件并设置目标框架配置文件以匹配 protobuf-net,我能够使用 NuGet 版本的 protobuf-net:
<TargetFrameworkProfile>Profile136</TargetFrameworkProfile>
生成的可移植库与 Xamarin.android 配合良好。根据this list,它应该也适用于 Xamarin.iOS。
【讨论】:
以上是关于如何在 xamarin ios pcl 中使用 protobuf-net的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Xamarin iOS/Android 中使用定义 PCL 的 RESX 文件来支持多语言?
无法在 PCL iOS 项目中安装 Xamarin.Mobile
如何使用 PCL 支持从 xamarin 跨平台项目中的 URL 下载文件
有没有办法使用 Xamarin.Forms PCL 项目中的 Devexpress.Xamarin.Android.Charts