Я использую последнюю версию protobuf-net с интеграцией VS2008. Я создал 2 сообщения (Message1 и Message2), 1 сообщение в 1 файле прото. Когда я пытаюсь сослаться на Message2 в Message1, инструмент генератора кода выдаёт мне ошибку «Message2» не определена и не будет генерировать файл кода. Пакет для обоих сообщений одинаков.
Похоже, что из-за интеграции инструмента с VS2008 он ожидает компиляции всех сообщений в одном файле .proto. В настоящее время я должен вставить пустое сообщение с тем же именем в файл Message1.proto, например:
message Message1 {
optional Message2 message2 = 1;
}
message Message2 {
}
А затем удалите объявление class Message2
из Message1.cs
.
Есть ли какие-либо настройки, которые мне нужно сделать, чтобы избежать этой ошибки, или единственный способ предоставить пустое объявление?
Или, если этого не произойдет, я предлагаю вам (Марк Грэвелл) включить ключевое слово, например «extern», чтобы сообщить компилятору, что определение этого типа доступно в другом классе