SEHE Исключение при запуске R-скрипта с RDotNet
Я получаю исключение 'System.Runtime.InteropServices.SEHException' in RDotNet.dll
запустив простой R-скрипт:
n + minWidth
с этим кодом в C#:
// Load the R environment
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
// Load the input data
CharacterVector charVec = engine.CreateCharacterVector(new List<string> { csvFileName });
engine.SetSymbol("input", charVec);
engine.SetSymbol("n", engine.CreateNumeric(numberOfFanfolds));
engine.SetSymbol("minWidth", engine.CreateNumeric(minWidth));
engine.SetSymbol("minScrap", engine.CreateNumeric(minScrap));
engine.SetSymbol("cardboardStep", engine.CreateNumeric(cardboardStep));
// Run the script
results = await Task.Factory.StartNew(() => engine.Evaluate("source('" + script_file_ + "')"));
Когда я пытаюсь запустить код напрямую, он работает правильно:
var results = await Task.Factory.StartNew(() => engine.Evaluate("n + minWidth"));
Что это значит? Что я могу сделать? Нужно ли как-нибудь отформатировать R-скрипт?
1 ответ
Решение
Просто нужно переставить путь к файлу
script_file_ = scriptFile.Replace("\\", "/");