You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET gRPC项目如何导入同目录下的其他自定义proto文件?

ASP.NET gRPC项目同目录自定义proto文件导入失败解决方案

你遇到的报错是因为Protobuf编译器默认的导入根路径为项目根目录,而非Protos子目录,可通过以下两种方案解决:

  • 方案一:直接使用相对项目根目录的导入路径
    将mainsvc.proto中的导入语句修改为:

    import "Protos/enums.proto";
    

    无需修改其他项目配置,修改后重新生成项目即可生效。

  • 方案二:将Protos目录添加到Protobuf编译器的导入路径
    如果你希望保持import "enums.proto"的写法,可以统一配置导入路径:

    1. 右键项目 → 选择「属性」→ 切换到「生成」选项卡
    2. 找到「Protobuf 编译器」配置分组,在「附加导入目录」中添加 $(ProjectDir)Protos 后保存配置
    3. 重新生成项目即可解决导入报错

额外注意事项:

  1. 需确认enums.proto的生成操作已设置为Protobuf 编译器,右键该文件→属性→「生成操作」选择Protobuf 编译器即可,公共枚举对应的「gRPC 存根类」可选择「不生成」
  2. 使用enums.proto中定义的枚举时,需要带上枚举所属的包名前缀,比如enums.proto声明了package MyServer;,则用法为MyServer.你的枚举名

内容的提问来源于stack exchange,提问作者ZedZip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:15:03