(转)[原创]在ios android设备上使用 Protobuf (使用源码方式)
自:http://game.ceeger.com/forum/read.php?tid=13479
如果你的工程只能以.Net 2.0而不能以.Net 2.0 subset运行,请看另外一个方法。
地址:http://game.ceeger.com/forum/read.php?tid=13479&fid=27
===============================================================
在此感谢下ganqiang87童鞋,本来之前试过这个方法的 但是不行,可是后来他说可以。我就试了下另外一个模式,结果就成了。
步骤:
1. 下载protobuf-net源码, 把其中“protobuf-net”文件夹 拷贝到unity 即可 . (我从svn下载好之后有很多文件夹的,比如protobuf-net,protobuf-net_IKVM,protobuf-net_MonoDroid,protobuf-net_Phone7 ,ProtoGen,QuickStart 等等 ,只复制那个protobuf-net就可以 。)
地址:http://code.google.com/p/protobuf-net/source/checkout
通过svn下载。
================================================================================
注意: 现在protobuf-net google官网已经不存在源码了, 作者已经把代码转移到github上去了
新地址: https://github.com/mgravell/protobuf-net
================================================================================
2. 建立一个新的文件smcs.rsp ,内容是-unsafe
3. 把工程设置为.Net 2.0 subset
4. 重启Unity
这样就搞定了。
需要注意的是:
你的工程必须是.Net 2.0 subset, 如果是.Net 2.0是无法在ios上用这个方法的。(看帖子开头的红字)
如果你之前使用dll的方式,而要转换成源码的方式 , 是很简单的(反之也一样)。 具体可以看一下源码中的Serializer类,函数名都一样。
提供包下载(里面包括了protobuf-net源码和smcs.rsp ,直接导入到工程就可以使用):http://pan.ceeger.com/viewfile.php?file_id=1832