从不同的项目.Net访问protobuf
Posted
技术标签:
【中文标题】从不同的项目.Net访问protobuf【英文标题】:Accessing protobuf from different project .Net 【发布时间】:2019-05-30 18:59:23 【问题描述】:我正在尝试使用 gRPC 构建一个大型系统。我有一个项目,我在其中定义了一个 .proto 文件。我创建了第二个项目,它引用了第一个项目。我希望能够在第二个项目的 proto 文件中定义的消息中使用第一个项目的 proto 文件中定义的消息。这可能吗?
【问题讨论】:
【参考方案1】:在这些情况下,我总是将 proto 文件放在他们自己的存储库中。例如,如果您使用的是 git,那么您将在两个项目中使用带有定义文件的存储库作为 子模块。
最终您将拥有三个存储库:
-
消息定义
项目A
项目 B
项目 A 和 B 将引用消息定义存储库。
【讨论】:
感谢您的回答。这是/是我的计划 B。我希望有一种方法可以将项目特定的 proto 文件封装在该特定项目中。并从其他项目访问它们。我最终可能会做这样的事情。【参考方案2】:我在这里回答了一个类似的问题: https://***.com/a/59821705/9742876
简而言之,如果您将ProtoRoot
属性添加到.csproj
文件中的<Protobuf />
部分,则可以执行此操作。 ProtoRoot
更改了 import
语句开始搜索 .proto
文件的根文件夹,但请查看上面的链接了解更多信息。
【讨论】:
以上是关于从不同的项目.Net访问protobuf的主要内容,如果未能解决你的问题,请参考以下文章