Как исправить «Тип имени пространства имен« Ошибка »не существует в пространстве имен» для gRP C и C#? - PullRequest
0 голосов
/ 06 февраля 2020

Я определил множество типов и методов (сообщения и сервисы в прото-лине go) и застрял в этой проблеме. Иногда, когда я делаю изменения, я получаю это очень бесполезное сообщение об ошибке.

The type of namespace name "Fault" does not exist in the namespace 'MyApp.MyDomain' (are you missing an assembly reference?) 

Я использую Visual Studio 2017 и компилирую в C#.

1 Ответ

1 голос
/ 06 февраля 2020

Я отвечаю на свой вопрос, потому что мне кажется, что это обычная проблема. Это также достаточно сложно выяснить, потому что сообщение об ошибке (хотя и полезно) очень общее. Т.е. вы получаете одно и то же сообщение об ошибке все время по разным причинам.

Решением было установить свойство «Build Action» для каждого файла .proto для сборки с использованием компилятора protobuf.

Сделайте следующее:

  1. Щелкните правой кнопкой мыши файл .proto в обозревателе решений Visual Studio.
  2. Выберите «Свойства»
  3. Измените "Build action" на "Protobuf compiler"

Ваши файлы .cs теперь должны быть сгенерированы в вашей папке ./project/MyProject/obj/Debug/netstandard2.0/ (или аналогичной папке назначения).

...