当前位置: 首页 > 知识库问答 >
问题:

“Pro Compile”任务不支持AdditionalPro cArguments”参数,。Net Core控制台应用程序

白嘉石
2023-03-14

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

“Pro Compile”任务不支持“AdditionalPro cArguments”参数。验证该参数存在于任务上,并且它是可设置的公共实例属性。

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

我在客户端上的软件包是Google。Pro buf 3.15.8;Grpc。网络。客户端2.37.0;Grpc。工具2.37.0

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

我遵循的grpc客户端和服务器示例

共有3个答案

红鸿运
2023-03-14

看起来像是在删除

AdditionalProtocArguments="%(_Protobuf_OutOfDateProto.AdditionalProtocArguments)"

表单C:\用户\您的用户\. nuget\包\grpc.tools\2.37.0\build_protobuf\Google. Pro buf. Tools.targets

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

傅边浩
2023-03-14

我也有同样的问题,没有直接帮助我的答案,但我通过以下步骤解决我的问题:

  1. 更新Grpc. AspNetCore包(默认Grpc项目使用版本2.34和grpc.tools版本2.34所以冲突)
  2. 来自VS的清洁解决方案
  3. 关闭VS
  4. 从文件资源管理器中删除解决方案文件夹子目录上的所有调试和bin文件夹
  5. 转到nuget包文件夹(默认情况下它在C:\用户{用户}. nuget\包上)
  6. 转到grpc.tools文件夹
  7. 删除所有2.37.0之前的版本文件夹
  8. 打开VS
  9. 构建解决方案
袁康裕
2023-03-14

清理项目并重新启动Visual Studio修复了此处建议的错误

更新:将gRPC相关的nuget更新到最新版本(不是Visual Studio默认模板添加的版本)后,这种情况不再发生。目前工作版本是:Grpc的2.38.1。工具,谷歌的3.17.3。原型,Grpc的2.38.0。网络。客户端

 类似资料:
  • 要在控制台应用程序中开始使用Hangfire,您需要首先将Hangfire包安装到控制台应用程序。因此,使用您的软件包管理器控制台窗口进行安装: PM> Install-Package Hangfire.Core 然后添加任务存储安装所需的软件包。例如,使用SQL Server: PM> Install-Package Hangfire.SqlServer 仅需 Hangfire.Core 软件包

  • 由于我在.netcore方面的知识非常有限,如果有人能给我指明正确的方向,我将不胜感激。

  • 我已经在google play商店上传了我的应用程序,应用程序报告了2个警告 下面的API是灰色列表,谷歌不能保证它们能在现有的Android版本上工作。有些可能已经被目标SDK限制 API landroid/view/viewgroup;->MakeOptionalFitsSystemWindows()V 4次发现。只显示唯一堆栈跟踪 堆栈跟踪1(statck跟踪中的应用程序类:at com.e

  • 在Google Play控制台中设置android应用程序时遇到问题。上传apk后,我看到“支持的Android设备-0设备”。 这是舱单 这里是gradle设置 该应用程序已经在一些设备上进行了测试。 我知道这是一个常见的问题,但是我发现的大多数问题都与相机的许可有关。 我做错了什么?

  • 我有以下控制器代码: 问题:在Swagger中为SpecificController生成open api标记时,响应中的客户端模型是BaseClientModel,而不是SpecificClientModel,并且只有id字段,而没有id名称。 实际: 预期: 如果我有40个特定的控制器,有没有办法让springdoc开放api根据特定的通用参数生成正确的标记?