2012-08-14 3 views
1

Visual Studio에서 'ProtoBufTool'사용자 지정 도구를 사용하여 .proto 파일에서 C# 클래스 파일을 생성했습니다. 그러나 생성 된 출력 클래스에는 parseFrom 및 mergeFrom 메서드가 없습니다. proto 파일이나 도구 설정에서 일부 옵션이나 무언가를 제공하지 못했습니까? 이 문제를 해결할 수있는 실마리를 찾지 못했습니다. 또한 메시지를 제외하고 필자의 proto 파일에는 파일의 시작 부분에 * optimize_for = SPEED; * 옵션이 있습니다. proto 파일에 빌드 작업이 없습니다.사용자 정의 도구 ProtBufTool을 사용하여 proto 파일에서 생성 된 C# 클래스에 parseFrom 및 mergeFrom 메서드가 없습니다.

이 문제에 대한 도움을 주시면 감사하겠습니다.

+0

사용중인 도구/라이브러리는 정확히 ***입니까? –

답변

0

도구 이름에서 protobuf-net을 사용하는 것처럼 들립니다. 그 중 하나가 several protobuf implementations에 대한 C#/.net,하지만 직접 포트가 아니며 다른 API가 있습니다 - 그 대신 관용구 .net 첫 번째 및 serializer 두 번째 (예 : .proto가 필요합니다 - 일반적인 POCO 유형을 사용할 수 있습니다). 예를 들어, 일반적인 사용은 할 수 있습니다 당신은 자바 등의 구현과 동일한 API와 구현을 원하는 경우

var obj = Serializer.Deserialize<YourType>(inputStream); 

는 다음 protobuf-csharp-port이 원하는대로 더있을 수 있습니다. 이것은 Java API의보다 직접적인 포트입니다.

+0

예, protobuf-net입니다. 지금 더 의미가 있습니다. Java에서 코드를 이식하기 때문에 protobuf-csharp-port 라우트로 이동합니다. Marc에게 응답 해 주셔서 감사합니다. – user1598731

관련 문제