c# windows - C #의 Google 프로토콜 버퍼





data grpc (2)


확실한; dotnet-protobufs는 자바 버전의 포트이므로 매우 비슷한 API와 핵심 Google 구현 방식을 공유합니다. 코드 젬, 불변성 등

Protobuf-net은 바이트 호환 가능하지만 표준 .NET 관용구에 따라 완전히 다시 작성되지 않고 다시 구현됩니다. 따라서 XmlSerializer 등의 사용자는 익숙합니다. 또한 변경 가능한 개체 (설정에 따라 불변하며 구조체는 v2), WCF, 리모팅 등을위한 옵션 후크가 있습니다.

둘 다 .proto에서 작동 할 수 있습니다 (틀림없이 dotnet-protobufs가 protobuf-net보다 더 낫 습니다). 그러나 protobuf-net은 .proto 나 codegen없이 기존 .net poco / DTO 등에 대해 작동 할 수 있습니다.

또한 protobuf-net은 상속 지원과 같은 것을 제공하지만, .proto 정의와 같이 쉽게 매핑되지 않으므로 시나리오에서 사용하도록 선택할 수 없습니다.

우리는 네트워킹을 통해 c ++ 응용 프로그램과 ac # 응용 프로그램 간의 직렬화를 처리하기 위해 Google의 프로토콜 버퍼를 사용하려고합니다.

내 질문은, 나는 C #에 대한 몇 가지 다른 사실을 발견했습니다. 그러나 둘 다 꽤 다르게 보입니다. 그러나 두 사람 사이에 무엇이 다른지 알 수 있습니까?

  1. protobuf-net
  2. jskeet / dotnet-protobufs



MSDN 기사 "C # 2.0 언어 및 컴파일러 의 새로운 기능 " 과 " Visual C # 2005의 새로운 기능 "을 비교하면 컴파일러의 버전 번호 매김에 따라 "C # major_version.minor_version"이 생성된다는 것을 추론 할 수 있습니다.

.NET 1.1 및 VS 2003에 해당 하며 Visual C # .NET 2003 이라는 이름의 C # 1.2 도 있습니다.

그러나 마이크로 소프트는 더 이상 마이너 버전 (점 뒤의 숫자)을 증가 시키거나 0 이외의 숫자를 갖기를 중단했습니다. 비록 .NET 3.5에 해당하는 C #은 msdn.microsoft.com에서 "Visual C # 2008 Service Pack 1" 이라는 이름으로 지정되었습니다.

두 가지 병렬 이름이 있습니다 : .NET / 컴파일러 버전 번호 매기기 및 Visual Studio 번호 매기기.

C # 2.0Visual C # 2005 의 동의어입니다.

C # 3.0은 다음과 같이 대응할 수 있습니다.





c# c++ serialization protocol-buffers