Использование одного и того же файла .proto для проектов C # и C ++

Я пытаюсь использовать один и тот же файл .proto (protobuf) для проектов C # и C ++. Моя проблема в том, что для файла C # требуется импорт и установка некоторых параметров (protobuf-csharp-port), а для файла C ++ - нет.

Есть ли способ указать протоколу игнорировать импорт / параметры при определенных обстоятельствах?

В настоящее время мой единственный способ обойти это - создать два разных файла .proto и обновлять оба при внесении изменений.


person Matt    schedule 12.07.2010    source источник
comment
Это больше не так, поскольку опция protobuf-csharp-port больше не требуется. Внимание всем, кого это смущает!   -  person Rob Lowe    schedule 23.05.2012


Ответы (2)


Ах, этот каштан :(

Да, это больно. Нет, на данный момент у меня нет действительно хорошего способа обойти это. Я хотел бы сказать так: «Этот импортированный файл предназначен только для параметров расширения, и можно считать, что эти расширения доступны: включите значения в набор дескрипторов, но не пытайтесь разрешить расширения». К сожалению, это невозможно.

Что вы можете сделать, так это просто включить параметры C # при сборке версии C ++, и вы получите представление C ++ для ваших параметров C #. Это некрасиво, но на самом деле от этого не будет никакого вреда. На самом деле я не делал этого на C ++, но до сих пор я закончил создание файлов Java для опций C # именно по этой причине.

Если у вас есть другие предложения, как я могу изменить порт C #, чтобы улучшить это, мне было бы интересно их услышать ...

person Jon Skeet    schedule 12.07.2010

Могли бы вы просто иметь свои прото-файлы без импорта, а затем прото-файлы для C #, которые требовали импорта и импорта ваших исходных файлов?

person Klaim    schedule 12.07.2010