我正在尝试通过rClr调试从R调用的C#方法。在VS-project中,我设置了start action属性以使用R-script作为命令行参数启动Rscript.exe。 (类似于您将使用ExcelDNA调试从Excel调用的c#函数。)R脚本按预期运行,但执行不会在断点处停止。所以我无法从Visual Studio进行任何调试。
我做错了什么?
这是一个最小的例子:
VS-project RLib1中的C#代码 - 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
TestRLib1.R中的R脚本
library(rClr)
clrLoadAssembly('C:/VSProjects/RLib1/RLib1/bin/Debug/RLib1.dll')
clrGetTypesInAssembly("RLib1")
clrCallStatic("RLib1.Calculate","Sum",2,5)