我在 64 位 Windows 机器上在 Visual Studio 2012 中在 Web 环境中工作。
我已使用 nuget 安装最新版本的 R.net (1.5.5),上次发布时间为 2013 年 9 月 16 日,
我尝试设置路径(用户和系统)以包含目录“E:\Program Files\R\R-3.0.2\bin\x64”
我也根据一些建议尝试了这段代码......
// As per the example
var envPath = Environment.GetEnvironmentVariable("PATH");
const string rBinPath = @"E:\Program Files\R\R-3.0.2\bin\x64";
Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + rBinPath);
打电话之前
// Create an instance of the engine
engine = REngine.CreateInstance("RDotNet");
Initialize();
但我得到这个错误 DllNotFound .....
RDotNet.NativeLibrary.UnmanagedDll..ctor(String dllName) +267
RDotNet.REngine..ctor(String id, String dll) +55
RDotNet.REngine.CreateInstance(String id, String dll) +415
我进行了研究,发现其他人就如何解决此问题提出了建议https://rdotnet.codeplex.com/discussions/353957我已阅读此内容并尝试了各种方法,包括“已弃用”的 SetDllDirectory(dllDirectory As String)并得到消息说它已被弃用,我不应该使用....
所以我有点难过 RDotNet 在 64 位下工作吗?我已经读到问题可能与引用另一个我没有的 Dll 的 RlaPack.dll 有关
我还读到可能需要设置有关 R_Home 的提示......但是其他人说它可以在 Windows 中工作,我不需要设置 R_home。
所以请来自社区的一些指导,我可以尝试感谢任何在 ac# 环境中具有 RDotNet/R 经验的人