'TProtocol' 不包含 'IncrementRecursionDepth' 的定义
'TProtocol' does not contain a definition for 'IncrementRecursionDepth'
我已经为我的图书馆和服务器安装了 thrift;使用 NuGet.
我有一个非常简单的 thrift 文件,我使用以下命令编译了它:
thrift.exe -r --gen csharp node.thrift
node.thrift有三行:
service Server {
string ping()
}
我从 Server.cs 编译器生成的 Server.cs 中得到错误。
'TProtocol' 不包含 'IncrementRecursionDepth'
的定义
抛出错误的示例行:
public void Read (TProtocol iprot)
{
iprot.IncrementRecursionDepth(); //this line has the error
我用谷歌搜索了它,但没有找到任何结果。
更新:如果我删除抛出错误的行,库编译并且服务器按预期工作,我不知道将来是否会遇到错误与否,递归是怎么回事?!
要点:我使用从http://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.3/thrift-0.9.3.exe
下载的可执行文件编译thrift文件。版本是 0.9.3 但是 NuGet 安装的 thrift 库是 0.9.1.3
the version is 0.9.3 but the thrift library installed by NuGet is 0.9.1.3
这正是问题所在。稍后添加了 IncrementRecursionDepth()
函数以防止出现问题,THRIFT-3235 中对此进行了更详细的概述。因为你需要编译器和库,所以你遇到了问题。
解决方案:始终使用匹配的编译器和库。特别是,使用 0.9.3.
问题是编译器版本不等于 NuGet 安装的 thrift 版本。
要从 NuGet 安装最新的官方包,请搜索 ApacheThrift。
我已经为我的图书馆和服务器安装了 thrift;使用 NuGet.
我有一个非常简单的 thrift 文件,我使用以下命令编译了它:
thrift.exe -r --gen csharp node.thrift
node.thrift有三行:
service Server {
string ping()
}
我从 Server.cs 编译器生成的 Server.cs 中得到错误。
'TProtocol' 不包含 'IncrementRecursionDepth'
的定义抛出错误的示例行:
public void Read (TProtocol iprot)
{
iprot.IncrementRecursionDepth(); //this line has the error
我用谷歌搜索了它,但没有找到任何结果。
更新:如果我删除抛出错误的行,库编译并且服务器按预期工作,我不知道将来是否会遇到错误与否,递归是怎么回事?!
要点:我使用从http://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.3/thrift-0.9.3.exe
下载的可执行文件编译thrift文件。版本是 0.9.3 但是 NuGet 安装的 thrift 库是 0.9.1.3
the version is 0.9.3 but the thrift library installed by NuGet is 0.9.1.3
这正是问题所在。稍后添加了 IncrementRecursionDepth()
函数以防止出现问题,THRIFT-3235 中对此进行了更详细的概述。因为你需要编译器和库,所以你遇到了问题。
解决方案:始终使用匹配的编译器和库。特别是,使用 0.9.3.
问题是编译器版本不等于 NuGet 安装的 thrift 版本。
要从 NuGet 安装最新的官方包,请搜索 ApacheThrift。