2017-09-04 73 views
0

我试图通过rClr调试从R调用的C#方法。在VS项目中,我设置了启动操作属性,以R脚本作为命令行参数启动Rscript.exe。 (类似于你要做的事情,例如使用ExcelDNA调试从Excel调用的c#函数。)R脚本按预期运行,但执行不会停在断点处。所以我无法从Visual Studio进行任何调试。如何调试r从r调用的c#代码?

我在做什么错?

下面是一个小例子:在VS项目RLib1

C#-code - Calculates.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace RLib1 
{ 
    public class Calculate { 
     public static double Sum(double x1, double x2) { 
      return x1 + x2; 
     } 
    } 
} 

性质RLib1.csproj
启动外部程序:C: \ R \ R-3.3.2 \ bin \ Rscript.exe
命令行参数:c:\ VSProjects \ RLib1 \ TestRLib1.R

R-脚本TestRLib1.R

library(rClr) 
clrLoadAssembly('C:/VSProjects/RLib1/RLib1/bin/Debug/RLib1.dll') 
clrGetTypesInAssembly("RLib1") 
clrCallStatic("RLib1.Calculate","Sum",2,5) 

回答