2012-01-31 1 views
2

protobufs로 일부 클래스를 직렬화하려고합니다. NuGet을 사용하여 protobuf-net을 설치하고 속성을 사용하여 코드를 적절히 꾸며 보았습니다. 모든 것이 잘 돌아갑니다.protobuf-net을 사용하여 ProtoGen 받기

그러나 결국 메시지는 C#에서 만들어 지지만 다른 환경에서 사용되기 때문에 C#에서 .proto 파일을 만들거나 - 나에게 합리적인 것 - C# 코드를 .proto 파일에서 생성해야합니다.

아무리해도 내 컴퓨터의 어느 곳에 나 설치된 ProtoGen.exe를 찾을 수 없습니다. 나는 또한 this old post을 찾았지만, .proto 텍스트 파일을 만들 때 일종의 정렬이 발생하지 않습니다. ProtoBufTool을 수동으로 추가해도 작동하지 않았습니다.

무엇이 누락 되었습니까?

답변

4

Protogen은 v1/280 빌드에 포함되어 있거나 프로젝트 사이트에서 사용할 수있는 별도의 VS 도구가 있습니다. 어떤 합리적인 방법으로도 너겟에 넣을 수있는 편리한 방법이 없습니다 (저는 MS 사람들과 확인했습니다; 두 번).

protogen 및 VS addin의 경우 v2에서는 기능이 변경되지 않았으므로 기존 v1 바이너리는 v2와 함께 사용하면 문제가 없습니다.

ProtoBufTool이 작동하지 않으면 ... 그게 뭘까요. 오류 메시지/경고가 있었습니까? 고전적인 경고는 입력 파일의 인코딩 ("protoc", Google의 도구, 인코딩에 대해 매우 까다 롭습니다)에 관한 것입니다.

+0

나는 v2를 시도했는데, 왜 아무 일도 일어나지 않는다는 것을 설명했다. (도구가 실행되지 않았고 오류가 전혀 없었다.) 나는 그것을 v1에서 얻으려고 노력할 것이다. 감사. – zmbq

+0

안녕하세요. 빠른 정보입니다. 최신 정보입니까? 나는. 이제는 너겟에 포함 된 도구이며 제대로 설치됩니까? [GitHub 페이지] (https://github.com/mgravell/protobuf-net#proto-file)는 오히려 오래된 블로그 게시물로만 리디렉션되기 때문에 2017 년부터 protogen을 얻는 "올바른"방법에 대해서는 확신하지 못합니다. 추가 링크를 제공하지 않습니다. – Groo

+0

@ 그루 (Gruo) 오늘 그걸 얻는 가장 쉬운 방법은 http://protogen.marcgravell.com입니다. - 소스로 이용 가능하지만, 그걸 nuget에 포장하기위한 작업이 있습니다. –

관련 문제