【问题标题】:How to fix "The type of namespace name "Fault" does not exist in the namespace" for gRPC and C#?如何修复 gRPC 和 C# 的“命名空间名称的类型“故障”在命名空间中不存在”?
【发布时间】:2020-02-06 12:20:12
【问题描述】:
我已经定义了很多类型和方法(proto-lingo 中的消息和服务)并被困在这个问题上。
有时,当我进行更改时,我会收到这个非常无用的错误消息。
The type of namespace name "Fault" does not exist in the namespace 'MyApp.MyDomain' (are you missing an assembly reference?)
我正在使用 Visual Studio 2017 并编译为 C#。
【问题讨论】:
标签:
c#
visual-studio
protocol-buffers
grpc
【解决方案1】:
我正在回答我自己的问题,因为我觉得这是一个常见问题。这也很难弄清楚,因为错误消息(尽管有帮助)非常笼统。即,由于各种原因,您总是收到相同的错误消息。
解决方案是为每个 .proto 文件设置“构建操作”属性以使用 protobuf 编译器进行构建。
这样做:
- 在 Visual Studio 解决方案资源管理器中右键单击您的 .proto 文件。
- 选择“属性”
- 将“构建操作”更改为“Protobuf 编译器”
您的 .cs 文件现在应该在您的文件夹 ./project/MyProject/obj/Debug/netstandard2.0/ 文件夹(或类似的目标文件夹)中生成。