找不到类型或命名空间名称 TSocket apache thrift C# Visual Studio 2019

Type or namespace name TSocket could not be found apache thrift C# Visual Studio 2019

已安装的 thrift 包和 Thrift.dll 参考的屏幕截图:

我正在尝试使用 C# 在 Visual Studio 2019 年创建一个简单的节俭客户端。我已经生成了 c# thrift 绑定和其他所有内容。但是,我收到“找不到类型或名称空间名称“TSocket””。我没有其他错误。这是我的设置代码的一个片段:

// imports, namespaces
using System;
using System.Net;
using Thrift;
using Thrift.Transport;
using Thrift.Protocol;
  
TTransport socket1 = new TSocket("hostname", port);
TTransport transport = new TFramedTransport(socket1);
                
(more stuff .....)

我对客户端中节俭模块的其他引用没有其他问题。它只是无法以某种方式找到“TSocket”。我是 c# 和 thrift 的超级新手。

我正在使用 thrift 0.14.1 并已使用 NuGet 程序包附加组件安装它 Visual Studio 2019。

可能是什么问题?谢谢。 screenshot of error

查看后,似乎“TSocket”甚至没有列在传输下,如下面的屏幕截图所示。 screenshot of available modules under Thrift Transport

Thrift 0.14 更改了一些名称和嵌套的命名空间结构。 Thrift.Transport.TSocket 现在是 Thrift.Transport.Client.TSocketTransport。看看交换是否可以解决问题。

如果没有,请检查您的项目对 Thrift 库的引用。像这样的东西可能会有所帮助(引用“Apache Thrift 程序员指南”):

"要添加 C# Apache Thrift 库引用,请在解决方案资源管理器中右键单击项目中的引用项,然后选择“添加引用”。接下来使用“浏览...”按钮找到 Thrift.dll 在 thrift/lib/csharp/src/bin/Debug(或任何地方)。确保在引用管理器对话框中 Thrift.dll 条目旁边有一个检查,然后单击确定。短暂暂停后,Intelisense 错误应该清除。”

...或使用包管理器:

“要添加 Thrift.dll 引用,您可以简单地 运行 PackageManager 安装命令:

PM> Install-Package -Prerelease ApacheThrift -ProjectName <your proj name here>

'ApacheThrift 1.0.0-dev' already installed.
Adding 'ApacheThrift 1.0.0-dev' to tradeServer.
Successfully added 'ApacheThrift 1.0.0-dev' to tradeServer.
"