草庐IT

protobuf-3

全部标签

c# - Windows下如何在Mono上构建protobuf-csharp-port

我已阅读构建说明protobuf-csharp-port在Linux/Unix系统下使用Mono。我仍然无法让它工作,最终我会打开一个线程来询问为什么,但这不是这篇文章的问题。我正在使用Windows进行开发,并且我已经使用VS2010成功构建了protobuf-csharp-port。事实上,我需要使用从Unity3D内部生成的C#类,这需要使用Mono。我的机器上安装了Mono2.8。问题是:是否可以使用MonoDevelop在Windows中构建protobuf-csharp-port?我尝试简单地导入VS2010解决方案并使用Mono对其进行编译,但它不起作用。我该怎么做?编辑

c++ - 从 Windows 上的文件中读取多个分隔的 protobuf 消息

我正在为我的硕士论文编写一个工具,它需要从文件中读取protobuf数据流。到目前为止,我只在MacOS上工作,一切都很好,但现在我也在尝试在Windows上运行该工具。遗憾的是,在Windows上我无法从单个流中读取多条连续的消息。我试图缩小问题的范围并开始关注重现问题的小程序。#include"tokens.pb.h"#include#include#includeintmain(intargc,char*argv[]){std::fstreamtokenFile(argv[1],std::ios_base::in);if(!tokenFile.is_open())return-1

python - 如何在 Windows 上运行 protobuf python 插件

我目前正在使用Protobuf插件生成一些给定一组Protobuf文件的自定义C#代码。它在Linux上运行良好,我也想在Windows上运行它,以便直接从我的VisualStudio项目生成此代码。这是我目前(未成功)使用的命令行:path\to\protoc.exe--plugin=protoc-gen-my-plugin=path\to\my-plugin.py--my-plugin_out=output\path\genmy_proto.proto这是我遇到的错误:--my-plugin_out:protoc-gen-my-plugin:%1n'estpasuneapplica

c# - 对 protobuf-net WCF 的使用感到困惑

我一直在关注thistutorial将protobuf-net添加到我的WCF项目。我有一个共享的DTO库。服务器和客户端都使用这些DTO类。我已将所有服务方法归因于[OperationContract]属性,但我没有在我的DTO类上分配任何[DataContract]属性。我添加了protobuf-netNuget包并将配置添加到web.config。我正在使用IISExpress来测试我的服务,并且认为我应该可以接受到目前为止所做的一切。然而,在测试了几次调用之后,我注意到我忘记将protobuf-net添加到我的客户端,但一切都按预期工作(即没有序列化或反序列化错误)。我怀疑我的

c# - 强制 protobuf-net 序列化所有默认值

我有一个使用protobuf-net序列化/反序列化的复杂模型,我们有几个错误与这个不序列化默认值的“功能”。例子:[DataContract]classFoo{publicFoo(){//Valueforcedbyconstructorthis.Value=1;}//Buggy,whenValueissettozero[DataMember(Order=1)]publicdoubleValue{get;set}}当Value=0时,它不会被protobuf-net序列化,但是在反序列化过程中,构造函数强制Value为1(protobuf-net不会改变这个)。为了让它工作,我需要强制

c# - Protobuf-Net 错误消息 : No Serializer defined for type: System. 类型

我在尝试序列化List>时收到以下错误消息:没有为类型定义序列化器:System.Type我都试过了,只是序列化上述集合或序列化一个类,该类具有定义为protoMember的相同集合。两者都会导致相同的错误消息。这是不受支持的类型吗?我认为它是受支持的,但我忽略了其他一些东西,但也许我不正确?感谢任何可能有助于解决此问题的指示... 最佳答案 编辑:r580中包含对Type序列化的支持protobuf-net旨在序列化您的数据,而不是您的实现;Type是一个实现细节。严格来说,添加起来并不难(一些特定于实现的细节实际上已经通过程序集

c# - 是否可以将 Protobuf-Net 与没有无参数构造函数的类一起使用?

使用Protobuf-Net,我发现在没有无参数构造函数的情况下似乎无法反序列化一个类,或者我可能遗漏了什么?我不想要某些具有无参数构造函数的类。我可以使用某种属性或其他技术吗? 最佳答案 protobuf-net目前依赖于无参数构造函数来工作。然而,该构造函数不需要是公共(public)的(itwillusereflectionifneedbetoinvokeit),因此您可以定义仅供protobuf-net使用的所需私有(private)构造函数(添加关于原因的注释)并在那里处理特定的序列化相关问题。这可以防止您的api的其余部

c# - protobuf.net 意外的子类型

我在使用Protobuf.net的项目中遇到此异常:InvalidOperationException"Unexpectedsub-type:foo"我要发送一个类,如下所示:classmessage{listlistOfBars;}foo继承offbar,但是protobuf似乎对此感到窒息并生成上面的异常。有什么办法解决这个问题吗?我需要能够在列表中包含bar的所有不同子类型,因此更受类型约束的解决方案将很困难/不可能。 最佳答案 我可能弄错了,但我认为你需要在继承类上指定哪些子类型从它继承,例如:[Serializable,P

c# - ProtoBuf-Net 和 Compact Framework 出现 "Invalid field in source data: 0"错误

有人知道使用ProtoBuf-Net在紧凑框架和完整.Net框架之间进行序列化/反序列化时有任何问题吗?我有一个名为LogData的类,我正在compactframework3.5下序列化,传输到服务器(运行.Netframework4.0),然后反序列化。有时它有效,有时它会抛出上述错误,我还没有将其缩小到任何特定原因。我用不同的值做了很多测试,但似乎无法找到错误发生时的任何韵律或原因。我在下面包括我的类(class)(减去各种构造函数)。我已多次查看两侧的字节缓冲区,但尚未发现通过线路从一侧发送到另一侧的数据存在差异。[ProtoContract]publicclassLogDat

c# - 在 Protobuf.NET 中序列化 List<object> (其中对象支持原语)?

如何使用protobuf-net序列化这样的对象:publicclassMyObject{publicstringKey{get;set;}publicListValues{get;set;}}当我尝试使用TypeModelprotobuf-net对此进行序列化时,抛出一个错误,指出它不知道如何序列化System.Object。现在我知道Values只会包含基元(int、string、float、DateTime等)。那么如何让protobuf-net知道这一点呢? 最佳答案 在任何意义上,这在纯ProtoBuf中都是不可行的。Pr