在 RDotNet.dll 中发生类型为“System.StackOverflowException”的未处理异常以在 Web 应用程序中加载 R 库

Ran*_*ngh 2 c# r r.net

加载“dplyr”库时出现同样的错误。

engine.Evaluate("library(dplyr)");
Run Code Online (Sandbox Code Playgroud)

上面的代码我同样的错误

“RDotNet.dll 中发生了类型为‘System.StackOverflowException’的未处理异常”。

有人可以帮帮我吗?提前致谢...

错误截图

小智 5

我在加载dplyr和其他 R 库时遇到了类似的问题。圈出来的问题是用具有256K的堆栈大小IIS和IIS表达在32位和64位操作系统512 K作为提到这里。您可以通过以下任一方式解决此问题:

1) 创建一个具有更大堆栈大小的线程并在其中执行 R.NET 命令。例如:

Thread t = new Thread(MyMethodToDoRWork, 2500000 /*thread stack size of 2.5MB*/);
Run Code Online (Sandbox Code Playgroud)

2)通过EditBin工具(Visual Studio自带)更改IIS或IIS Express进程的默认堆栈大小。请参阅此处的示例。但是我不建议这样做,因为您将修改实际的 IIS/IIS Express 二进制文件。