2016-08-05 2 views
0

Я получаю исключение 'System.Runtime.InteropServices.SEHException' in RDotNet.dllSEHE Исключение запуска R скрипт с RDotNet

, запустив простой 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-скрипт каким-то образом?

ответ

0

Просто нужно изменить путь к файлу

script_file_ = scriptFile.Replace("\\", "/"); 
Смежные вопросы