类型为'System.ApplicationException'发生在RDotNet.NativeLib

本文关键字:RDotNet NativeLib System 类型 ApplicationException | 更新日期: 2023-09-27 18:18:06

我正在考虑在我的。net应用程序中使用R库。我已经安装了库和R环境。

但是,当运行项目页面上提供的示例程序时,我得到了上面描述的异常:

 static void Main(string[] args)
        {
         //   REngine.SetEnvironmentVariables(); // <-- May be omitted; the next line would call it.
            REngine engine = REngine.GetInstance();
            // A somewhat contrived but customary Hello World:
            CharacterVector charVec = engine.CreateCharacterVector(new[] { "Hello, R world!, .NET speaking" });
            engine.SetSymbol("greetings", charVec);
            engine.Evaluate("str(greetings)"); // print out in the console
            string[] a = engine.Evaluate("'Hi there .NET, from the R engine'").AsCharacter().ToArray();
            Console.WriteLine("R answered: '{0}'", a[0]);
            Console.WriteLine("Press any key to exit the program");
            Console.ReadKey();
            engine.Dispose();
        }

如果有人遇到这个问题,我真的很高兴有任何评论。我已经搜索了相关论坛,但还没有找到。

完整异常信息:

未处理的System类型异常。在RDotNet.NativeLibrary.dll中发生了ApplicationException附加信息:在HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER

中找不到Windows注册表键'SOFTWARE'R-core'

我检查了R是否正确安装,并找到了R- core HKEY_LOCAL_MACHINE

提前致谢

类型为'System.ApplicationException'发生在RDotNet.NativeLib

请按照jmp75.github中的诊断说明进行操作。io/rdotnet/ts_paths_on_windows。这将有助于隔离问题。我怀疑你的c#项目中的32位和64位与R设置不匹配(你安装了哪个R引擎:32位和/或64位?)但这只是一个没有上述诊断的疯狂猜测。

改变我的项目目标平台解决了上面的评论后的问题