无法从R.NET获取引擎实例
本文关键字:获取 引擎 实例 NET | 更新日期: 2023-09-27 18:03:13
我正在尝试使用rnet v1.5.12进行设置,我运行此代码作为在潜入我的项目之前创建和初始化对象的测试。
string rHome = @"C:'Program Files'R'R-3.0.2";
string rPath = Path.Combine(rHome, @"bin'i386");
REngine.SetEnvironmentVariables(rPath, rHome);
REngine engine = REngine.GetInstance();
engine.Initialize();
Console.WriteLine("So far, so good.");
engine.Dispose();
Console.ReadKey();
代码不会产生异常,但是当它试图使用REngine.GetInstance()
获取R实例时,会无声地失败。控制台不会写入任何内容,控制台也不会等待按键。Visual Studio告诉我XX.vshost.exe以代码2退出,但没有说明其他任何内容。
有人有什么见解吗?我想这不是路径的问题,因为我明确地设置了R路径。
我遇到了同样的问题。调用REngine.GetInstance()
将使整个进程静默退出,代码为2。
我调查了r。net和R3.2.2的源代码,然后发现:
-
REngine.GetInstance()
调用R.dll 中的本地函数 -
setup_Rmainloop()
在无法打开"base"库文件时调用exit()
"%R_HOME%/library/base/R/base",退出代码为2。
setup_Rmainloop()
我建议您检查fopen("%R_HOME%/library/base/R/base", "r")
(或任何等效代码)是否失败。