我正在尝试使用R.NET 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告诉我,XX.vshost.exe与代码2一起退出,但没有说任何其他的话。
这里有人有洞察力吗?我想这不是路径的问题,因为我显式地设置了R路径。
发布于 2015-11-05 15:32:35
我也遇到了同样的问题。调用REngine.GetInstance()会使整个进程以代码2的方式悄然退出。
我研究了R.NET和R3.2.2的源代码,然后发现:
REngine.GetInstance()在R.dll中调用本机函数setup_Rmainloop()setup_Rmainloop()无法在"%R_HOME%/ library /base/R/base“打开”基本“库文件时,使用退出代码2调用exit()。我建议您检查fopen("%R_HOME%/library/base/R/base", "r") (或任何等效代码)是否失败。
https://stackoverflow.com/questions/23619601
复制相似问题