Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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# 从原始文件构造cs文件?_C#_Protocol Buffers_Protocol Buffers 3 - Fatal编程技术网

C# 从原始文件构造cs文件?

C# 从原始文件构造cs文件?,c#,protocol-buffers,protocol-buffers-3,C#,Protocol Buffers,Protocol Buffers 3,这可能看起来很基本,但我对C#很陌生,所以谷歌参考文档对我来说不是很清楚 他们指示: protoc --proto_path=bar --csharp_out=src --csharp_opt=base_namespace=Example player.proto 他们的例子是 protoc --proto_path=src --csharp_out=build/gen --csharp_opt=file_extension=.g.cs,base_namespace=Example src/f

这可能看起来很基本,但我对C#很陌生,所以谷歌参考文档对我来说不是很清楚

他们指示:

protoc --proto_path=bar --csharp_out=src --csharp_opt=base_namespace=Example player.proto
他们的例子是

protoc --proto_path=src --csharp_out=build/gen --csharp_opt=file_extension=.g.cs,base_namespace=Example src/foo.proto
因此,我的基本问题清单如下:

  • 对于proto_path,是否从程序文件夹的顶层开始

  • 什么是“bar”选项,是否总是“src”

  • 什么是“src”选项,它总是“build/gen”吗

  • 这是可复制的吗?”--csharp_opt=file_extension=.g.cs,base_namespace=MyProgram src/MyProtoFile.proto'

对于proto_path,是否从程序文件夹的顶层开始

--原始路径 是您希望转换为cs文件的原始文件所在的位置。这是相对于protoc可执行文件的,但也可以设置为特定位置,例如--proto_path=“C:/myprotofiles/”

什么是“bar”选项,是否总是“src”

“酒吧”不是一个选项。“foo”和“bar”通常在给出一般指令时用作占位符()

什么是“src”选项,它总是“build/gen”吗

src不是一个选项。src是目录的占位符。您将用包含原始文件的目录替换“src”

--csharp#u out是您希望输出C#文件的位置。这也与protoc可执行文件相关,但也可以设置为特定位置,例如--csharp_out=“C:/mycsfiles/”

这是可复制的吗?”--csharp_opt=file_extension=.g.cs,base_namespace=MyProgram src/MyProtoFile.proto'

我不太确定你的问题。这是两部分

--csharp_opt设置选项。本例将文件扩展名设置为.g.cs(因此输出文件将是somecsfile.g.cs),并将基本名称空间设置为“MyProgram”,以便生成的所有类都位于名为MyProgram的名称空间中

谷歌示例中的“src/MyProtoFile.proto”或“src/foo.proto”是/src目录中的一个proto文件。在我们的示例中,我们将其替换为“c:/myprotofiles/myprotofile.proto”

因此,我们有:

protoc --proto_path="C:/myprotofiles/" --csharp_out="C:/mycsfiles/" --csharp_opt=file_extension=.g.cs,base_namespace=MyProtoFileNamespace "c:/myprotofiles/myprotofile.proto"
设置显式路径不是必需的,但希望能澄清一些问题(至少对于Windows用户是如此!)