R.Net:寻找/解析Visual Studio(C#)属性资源中存储为文本文件的脚本.R文件

R.Net:寻找/解析Visual Studio(C#)属性资源中存储为文本文件的脚本.R文件,c#,r,visual-studio,r.net,C#,R,Visual Studio,R.net,我有一个R脚本文件,我们称之为“script.R”,我想从C#(使用R.Net)将其源代码转换成R。例如,Script.R中有几个我想从C#/R.Net调用的函数 出于部署目的,我在Visual Studio的“属性”中添加了Script.R作为“资源”。在运行时,我可以通过使用“MyProject.Resources.Script”(其中假定项目名为“MyProject”,Script.R资源以“Script”字段命名)以C#字符串的形式获取Script.R文件的文本 现在,我知道我可以使用R

我有一个R脚本文件,我们称之为“script.R”,我想从C#(使用R.Net)将其源代码转换成R。例如,Script.R中有几个我想从C#/R.Net调用的函数

出于部署目的,我在Visual Studio的“属性”中添加了Script.R作为“资源”。在运行时,我可以通过使用“MyProject.Resources.Script”(其中假定项目名为“MyProject”,Script.R资源以“Script”字段命名)以C#字符串的形式获取Script.R文件的文本

现在,我知道我可以使用R.Net中调用的R的“source”函数,使用Script.R的文件路径,例如

rEngine.Evaluate(String.Format("source('{0}')", filePath));
。。。但是,我正在尝试(但似乎无法理解)如何从MyProject.Resources.Script C#string中获取(或解析?)Script.R。也就是说,我想从资源C#字符串而不是文件中获取Script.R的源代码

你知道怎么做吗


非常感谢

好的,在思考了如何组合C#/R.Net/R之后,我找到了一个解决方案。下面是一个突破性的解决方案(使用了比需要更多的变量,但希望提供更多的清晰度):

当然,这可以简化为:

rEngine.SetSymbol("rscriptSplitSymbolicExpression", rEngine.CreateCharacterVector(MyProject.Resources.Script.Split(new string[]{"\r\n"}, StringSplitOptions.RemoveEmptyEntries));
rEngine.Evaluate("eval(parse(text=rscriptSplitSymbolicExpression))");

如果你有不同的方法,我也希望看到你的解决方案!谢谢

我无法从文件中查找信息。您的“文件路径”是什么样子的?
rEngine.SetSymbol("rscriptSplitSymbolicExpression", rEngine.CreateCharacterVector(MyProject.Resources.Script.Split(new string[]{"\r\n"}, StringSplitOptions.RemoveEmptyEntries));
rEngine.Evaluate("eval(parse(text=rscriptSplitSymbolicExpression))");