如何在C#中为gRPC创建正确的自动生成代码?

如何在C#中为gRPC创建正确的自动生成代码?,c#,grpc,proto,grpc-c#,C#,Grpc,Proto,Grpc C#,我在一个C#项目中创建了一个原型文件,并试图通过构建解决方案自动生成C#代码。 但是,我对扩展名grpc.cs下的文件有一个问题 ''' /// <summary>Creates a new client for Greeter</summary> /// <param name="channel">The channel to use to make remote calls.</param> publi

我在一个C#项目中创建了一个原型文件,并试图通过构建解决方案自动生成C#代码。 但是,我对扩展名grpc.cs下的文件有一个问题

''' 

/// <summary>Creates a new client for Greeter</summary>
   /// <param name="channel">The channel to use to make remote calls.</param>
      public GreeterClient(grpc::Channel channel) : base(channel)
      {
      }

'''
“”
///为迎宾员创建一个新客户端
///用于进行远程呼叫的频道。
公共GreeterClient(grpc::Channel):基本(Channel)
{
}
'''
上述snip来自示例,其中公共GreeterClient具有参数(grpc::Channel) 但在下面的剪报中,它是(grpc::ChannelBase channel)

“”
///为示例创建新客户端
///用于进行远程呼叫的频道。
公共示例客户端(grpc::ChannelBase通道):基本(通道)
{
}
'''
这会抛出一个错误,告诉您“找不到客户端通道”


如何配置生成grpc.cs文件,以便参数为(grpc::Channel Channel)

我不确定您在做什么(…尝试自动生成…感谢您提供了详细的过程。步骤7和步骤8是强制性的吗?@Sree:我们在这里做的是创建使用gRPC技术与某物通信的C#项目。因此,在步骤6之前,我们创建了gRPC配置,并确保C#工具可以使用它工作/生成,但如果我们不实际使用它,它有什么好处它在我们的C#应用程序中?所以在第6步和第7步中,我们实际上开始用我们自己的逻辑和需求构建我们的C#应用程序,将使用gRPC技术与远程服务器通信。非常感谢。这解释了这些步骤。
'''

/// <summary>Creates a new client for samples</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
public samplesClient(grpc::ChannelBase channel) : base(channel)
{
}

'''
syntax = "proto3";

option csharp_namespace = "MyNamespace";

...
...
 public class GrpcImplementationClass: MyNamespace.MyServer.MyServerBase
 {

   public override MyFunction()
   {
   ...
   ...