C# 库(data.table)中出错:没有名为';数据表';

C# 库(data.table)中出错:没有名为';数据表';,c#,r,iis,r.net,C#,R,Iis,R.net,我们在IIS上创建了一个Web服务,它调用一个R脚本。R脚本包括一些库,如:data.table、插入符号等。R返回一个错误,无法找到数据。表库: 库(data.table)中出错:没有调用的包 “data.table” 我们确认data.table软件包安装在:“C:\Program Files\R\R-3.3\library\data.table”。当我们运行.libPaths()检查R试图从何处加载库时,它返回的是文件夹“C:/Program Files/R/R-3.3.3/library

我们在IIS上创建了一个Web服务,它调用一个R脚本。R脚本包括一些库,如:
data.table
、插入符号等。R返回一个错误,无法找到
数据。表
库:

库(data.table)中出错:没有调用的包 “data.table”

我们确认data.table软件包安装在:
“C:\Program Files\R\R-3.3\library\data.table”
。当我们运行
.libPaths()
检查R试图从何处加载库时,它返回的是文件夹“C:/Program Files/R/R-3.3.3/library”

它在Visual Studio 2017单元测试中,甚至在控制台应用程序环境中都能成功地工作。所以问题是为什么不能在IIS中加载data.table库

我们使用以下软件版本:

  • R for Windows 3.3.3
  • 互联网信息服务版本10.0.14393.0
  • RDotnet社区1.6.5
C#代码:


我们已决定切换到“Microsoft R Open”(MRAN),而不是R for Windows(CRAN)。这为我们解决了很多问题。我们无法让CRAN与IIS合作


对于MRAN,我们需要做的唯一一件事是为用户提供IIS应用程序正在运行的对库文件夹“C:\Program Files\Microsoft\R Open\library”的修改访问权限。这是在我们的应用程序中启用R引擎以安装R库所必需的。

您是否尝试过更改
repos
?当您使用另一个包运行此代码时,是否会出现相同的错误(即,它是否特定于data.table)?是否只有一个
.libpath()
?它可以是一个数组…Spitballing选项:
R.Evaluate(“install.packages('data.table',repos=”)http://Rdatatable.github.io/data.table“,类型=”源“)”(没有依赖项)
R = REngine.GetInstance();
R.Initialize();
R.Evaluate("install.packages('data.table', repos='http://cran.us.r-project.org', dependencies = TRUE)");
R.Evaluate("library(data.table)");