Nano Hash - криптовалюты, майнинг, программирование

Можно ли использовать буферы протокола Google 2.6.1 с С#?

У меня есть проект, в котором я использую Google Protocol Buffers 2.6.1 уже около двух лет. Я знаю, что C# поддерживается в Google Protocol Buffers 3.0.0, но в данный момент я не хочу переносить свой протокол на более новую версию. Я пытался найти способ генерировать файлы С# из моего файла .proto, но мне это не удалось.

Можно ли использовать Google Protocol Buffers 2.6.1 с C#?


Ответы:


1

Ознакомьтесь с этим репозиторием.

Здесь утверждается:

Этот репозиторий изначально был экспортирован из http://code.google.com/p/protobuf-csharp-port и представляет последнюю устаревшую версию protobuf-csharp-port.

Этот проект теперь включен в основной проект Google Protocol Buffers и обновляется для поддержки proto3. Не ожидается, что он будет полностью обратно совместим с кодом в этом репозитории — в частности, некоторые специфичные для C# параметры могут не поддерживаться в новой кодовой базе, а часть сгенерированного кода может отличаться. Новая основная версия предлагает возможность генеральной уборки.

05.09.2016
  • Я уже пробовал это, и это не сработало. Я скачал последнюю версию. Пытался использовать protoc.exe, расположенный в \protobuf-csharp-port-2.4.1.555\lib\protoc.exe, но он не поддерживает C#, поэтому я не смог сгенерировать C# wrpappers для моего определения протокола на основе 2.6.1, которое является моим Цель. 05.09.2016

  • 2

    В ~\protobuf-csharp-port-2.4.1.555\src\ProtoGen\ProtocGenCs.cs у вас есть пример в комментарии:

    // Usage example:
    //   protoc.exe
    //     --plugin=path\to\protoc-gen-cs.exe
    //     --cs_out="-generated_code_attributes=true umbrella_namespace=TutorialProto :."
    //     --proto_path=.\protos\
    //     protos\tutorial\addressbook.proto
    
    23.05.2017

    3

    Я использую этот репозиторий. Он основан на протоколе protobuf. Хорошо работает на производственной версии нашего продукта.

    05.09.2016
  • Спасибо, но мне нужен компилятор protoc.exe, который сможет генерировать для меня оболочки C# из моего определения протокола (файл .proto), который не соответствует версии 2.6.1 буферов протокола Google. Ваш ответ не является решением моей проблемы. 05.09.2016

  • 4

    Реализация Google C# поддерживает proto3; protobuf-net поддерживает как proto2, так и proto3. Поэтому, если вам нужно использовать proto2, вы можете рассмотреть возможность использования protobuf-net.

    22.06.2017
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..