微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“ProtoCompile”任务不支持“AdditionalProtocArguments”参数,.Net Core Console 应用程序

如何解决“ProtoCompile”任务不支持“AdditionalProtocArguments”参数,.Net Core Console 应用程序

我不确定发生了什么,但我让 grpc 在控制台应用程序和 ASP.NET Core grpc 服务器之间工作,但是当我对 proto 文件进行更改时,控制台应用程序停止编译。然后我决定按照示例创建一个全新的控制台应用程序,虽然我的 proto 文件(来自示例)被设置为服务器,然后 grpc 服务构建正常,但是一旦我在控制台应用程序中将其更改为客户端,我就会收到此错误

“ProtoCompile”任务不支持“AdditionalProtocArguments”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性

我在使用 grpc 服务时没有遇到这个问题,只有客户端 - 甚至是新的客户端应用程序。所以我可以消除我的特定编码。这是一个构建/配置问题。另一个问题是,在添加文件时,希望添加 Proto 文件不返回任何选项,但是当我在服务器项目上执行此操作时,我得到了协议缓冲区文件的选项。

我在客户端上的软件包是 Google.Protobuf 3.15.8; Grpc.Net.Client 2.37.0; Grpc.Tools 2.37.0

我不知道该怎么办。我可以创建一个全新的控制台应用程序,添加 nuget 包,添加一个 Protos 文件夹,当我尝试添加一个 proto 文件时,我什至没有得到那种类型的文件。我什至重启都没效果

Example of grpc client and server that I followed

解决方法

清理项目并重新启动 Visual Studio 为我修复了错误,就像推荐的 here

,

我有同样的错误。将 AspNetCore 降级到 2.34 版本(新项目的标准),然后正确构建

,

看起来像删除

AdditionalProtocArguments="%(_Protobuf_OutOfDateProto.AdditionalProtocArguments)"

表单 C:\Users\您的用户\.nuget\packages\grpc.tools\2.37.0\build_protobuf\Google.Protobuf.Tools.targets

(大约第 291 行)修复编译,不幸的是我不能说这会导致什么副作用......但它似乎在我的虚拟项目中工作

,

将 Grpc.Tools 升级到 2.38.0 自动解决了我的问题...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。