繁体   English   中英

如何修复 gRPC 和 C# 的“命名空间名称“故障”的类型在命名空间中不存在”?

[英]How to fix "The type of namespace name "Fault" does not exist in the namespace" for gRPC and C#?

我已经定义了很多类型和方法(原始语言中的消息和服务)并被困在这个问题上。 有时,当我进行更改时,我会收到这个非常无用的错误消息。

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

我正在使用 Visual Studio 2017 并编译为 C#。

我正在回答我自己的问题,因为我觉得这是一个常见问题。 这也很难弄清楚,因为错误消息(虽然有帮助)非常普遍。 也就是说,由于各种原因,您始终会收到相同的错误消息。

解决方案是为每个 .proto 文件设置“构建操作”属性,以使用 protobuf 编译器进行构建。

做这个:

  1. 在 Visual Studio 解决方案资源管理器中右键单击 .proto 文件。
  2. 选择“属性”
  3. 将“构建操作”更改为“Protobuf 编译器”

您的 .cs 文件现在应该在您的文件夹./project/MyProject/obj/Debug/netstandard2.0/文件夹(或类似的目标文件夹)中生成。

我遇到了这个,但在我的情况下,我有一个导入声明。 导入语句区分大小写。

"project/myClass/v1/ mytest .proto" => "project/myClass/v1/ myTest .proto"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM