天天看点

如何使用protobuf-net生成.cs(c#)文件

         作为一个初学者。今天心血来潮准备学习一下protobuf的,第一步当然去clone代码啦

代码地址:https://code.google.com/p/protobuf-net/

clone下来的代码库里有protobuf-net/protobuf-net这个目录才是真正的我们需要放入UNITY中的。

拷贝进unity后发现编译不过 ,这一步解决方法网上很多我就直接抄过来了

就是:“建立一个新的文件smcs.rsp,内容是-unsafe,前后都无空格。该文件放在 Assets 目录下”

如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件

------------------------------------------------------------------强势插入----------------------------------------------------------------------

主要是下面的步骤我实验了一下午怎么都不成功。

我在目录里定义个.proto格式的文件。里面简单的定义了两行数据:

namespace User;
message Character
{  
     required string name= 1;
     required int sex= 2;
} 
           

然后我想通过protobuf的工具根据上面的文件生成c#代码。

使用protoc -i:input_patch --csharp_outpatch:out_patch就是一直报错的。

后来看到网上大神们的教程都是使用protogen来生成c#代码。可是我编译protogen总是报错。有的帖子说在protobuf-net的bin目录下拷贝dll文件。。。。。。。。。。。可是我也没找到。

如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件

直到我最后尝试了引用\protobuf-net.Enyim\packages\protobuf-net.2.0.0.602\lib\net20-cf里的dll

然后就编译成功了。哈哈哈

如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件

编译后生成一个protogen.exe文件

如何使用protobuf-net生成.cs(c#)文件

然后我们就可以在cmd中使用protogen来生成cs文件啦。

如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件
如何使用protobuf-net生成.cs(c#)文件

以上虽然是流水账。主要是记录一下学习过程。一面以后换 了电脑在坑一次。大神门就忽略我好了。当然学习交流我非常欢迎。主要是求一个大腿带我飞。

可以加我的搞基群:189673606。