我試圖用R.NET v1.5.12來設置,我將這段代碼作爲一個在創建和初始化對象之前深入我的項目的測試。無法從R.NET獲取REngine實例
string rHome = @"C:\Program Files\R\R-3.0.2";
string rPath = Path.Combine(rHome, @"bin\i386");
REngine.SetEnvironmentVariables(rPath, rHome);
REngine engine = REngine.GetInstance();
engine.Initialize();
Console.WriteLine("So far, so good.");
engine.Dispose();
Console.ReadKey();
的代碼產生也不例外,但默默地當它試圖獲得使用REngine.GetInstance()
的R實例失敗。什麼都不寫入控制檯,控制檯不會等待按鍵。 Visual Studio告訴我,XX.vshost.exe用代碼2退出但沒有說別的。
有沒有人在這裏有任何見解?我想這不是路徑問題,因爲我明確設置了R路徑。
您可以檢索R.NET並在調試模式下編譯RDotNet項目(及其依賴項RDotNet.NativeLibrary),並根據它測試您的程序?我無法用我認爲可能發生的兩種情況來重現問題。如果您可以縮小應用程序退出的位置,這將會很好。沒有堆棧跟蹤的應用程序退出可能會導致R本地關閉並請求清理,但沒有明確的規定提供診斷信息。 –
我強烈建議您使用[nuget包](http://www.nuget.org/packages/R.NET/1.5.5),因爲它會爲您節省大量安裝和路徑頭痛。 –
nuget包1.5.5被取代;我懷疑恢復到它將解決這個問題,並帶來其他限制。更新的軟件包將在nuget.org上提供;正在進行當前的工作。 –