proto_pathはプログラムフォルダの最上位からですか
--proto_path は、cs ファイルに変換する proto ファイルが存在する場所です。これは、protoc 実行可能ファイルに関連していますが、特定の場所に設定することもできます (例: --proto_path="C:/myprotofiles/")。
「バー」オプションとは何ですか?それは常に「src」ですか?
「バー」はオプションではありません。「foo」と「bar」は、一般的な指示を与える際のプレースホルダーとして一般的に使用されます ( https://en.wikipedia.org/wiki/Foobar )
「src」オプションとは何ですか? それは常に「build/gen」ですか?
src はオプションではありません。src はディレクトリのプレースホルダーです。「src」を proto ファイルを含むディレクトリに置き換えます。
--csharp_out は、出力 C# ファイルを配置する場所です。これも protoc 実行可能ファイルに関連していますが、特定の場所に設定することもできます (例: --csharp_out="C:/mycsfiles/")。
これはコピー可能ですか?'--csharp_opt=file_extension=.g.cs,base_namespace=MyProgram src/MyProtoFile.proto'
ここでのあなたの質問はよくわかりません。これは 2 つの部分です。
--csharp_opt はオプションを設定します。この例では、file_extension を .g.cs に設定し (出力ファイルは somecsfile.g.cs になります)、base_namespace を "MyProgram" に設定して、生成されるすべてのクラスが MyProgram という名前空間にあるようにします。
「src/MyProtoFile.proto」または Google の例の「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 ユーザーにとっては!)