Protobuf.NET usando

Necesita enviar algunos datos entre c # administrado y c ++ no administrado. Después de investigar un poco, intenté usar Protobuf.NET.

No estoy seguro si entiendo la funcionalidad de ProtoBuf ...

Cree una definición de tipo en Proto. Necesito esta definición de tipo en ambos proyectos c ++ y c #Utilice la herramienta de línea de comandos "protogen.exe" para obtener un archivo .cs y .cpp, .h de la definición de tipo Copie los archivos .cs en mi proyecto de C # y el .cpp, .h en mi solución de C ++.

Parece que soy demasiado estúpido para resolver esto. Aquí están mis problemas y preguntas.

Es posible definir el tipo en c # para generar los archivos en c ++?Traté de usar la herramienta de línea de comandos protogen.exe con los siguientes archivos

test1.proto

using ProtoBuf;
namespace ProtocolBuffers
{
    [ProtoContract]
    class Person
    {
        [ProtoMember(1)]
        public int Id {get;set;}
        [ProtoMember(2)]
        public string Name { get; set; }
    }
}

test2.proto

message Person {
  required int32 id = 1;
  required string name = 2;
  optional string email = 3;
}

Nada está funcionando para mí. Realmente lo intenté todo. Puse los archivos proto en el directorio de línea de comandos, probé todas las opciones para configurar el directorio. ¿Cómo construirlos fácilmente? El segundo archivo está funcionando con la herramienta de línea de comandos proto estándar para c ++ pero también la necesito para c #. Realmente necesito tu ayuda.

Respuestas a la pregunta(3)

Su respuesta a la pregunta