Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对C和C+使用相同的.proto文件+;项目_C#_C++_Protocol Buffers - Fatal编程技术网

C# 对C和C+使用相同的.proto文件+;项目

C# 对C和C+使用相同的.proto文件+;项目,c#,c++,protocol-buffers,C#,C++,Protocol Buffers,我试图使用相同的.Proto文件(ProtoBuf)来处理C++和C++项目。我的问题是,C++文件需要一个导入和一些选项集(原Buff-cSpple端口),而C++文件不需要。 在某些情况下,我能告诉protoc忽略导入/选项吗 目前,我唯一的解决方法是创建两个不同的.proto文件,并在进行更改时更新这两个文件。您是否可以在不导入的情况下使用您的proto文件,然后导入需要导入的C#proto文件并导入您的原始文件?啊,这是:( 是的,这很痛苦。不,我现在没有一个很好的解决方法。我想说,“这

我试图使用相同的.Proto文件(ProtoBuf)来处理C++和C++项目。我的问题是,C++文件需要一个导入和一些选项集(原Buff-cSpple端口),而C++文件不需要。 在某些情况下,我能告诉protoc忽略导入/选项吗


目前,我唯一的解决方法是创建两个不同的.proto文件,并在进行更改时更新这两个文件。

您是否可以在不导入的情况下使用您的proto文件,然后导入需要导入的C#proto文件并导入您的原始文件?

啊,这是:(

是的,这很痛苦。不,我现在没有一个很好的解决方法。我想说,“这个导入的文件只用于扩展选项,可以假设这些扩展是可用的:在描述符集中包含值,但不要尝试解析扩展。”不幸的是,没有办法做到这一点

你可以做的只是在C++版本中加入C选项,你最终会得到C++选项的C++表示。它不漂亮,但实际上不会造成任何伤害。我在C++中还没有真正做到这一点,但是我最终为java选项生成了Java文件,因为这个原因。


如果您对我如何更改C#port以改进此功能有任何其他建议,我很想听听他们的意见…

现在不再需要protobuf csharp port选项,请向对此感到困惑的任何人提一提!