如何解决“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] 举报,一经查实,本站将立刻删除。