2016-10-03 48 views
1

我在ASP.NET MVC 4項目中使用ReactJs.NET。我已經在我的ReactConfig.cs那個叫上啓動應用程序指定此JavaScript引擎禁用回退到MSIE:ReactJs.NET和服務器端渲染與V8在生產中拋出異常

ReactSiteConfiguration.Configuration.SetAllowMsieEngine(false); 

這工作我的開發計算機上,但尚未投入生產。時引發的例外是:

Failed to initialise ClearScript V8. This is most likely caused by the native libraries (ClearScriptV8-64.dll and v8-x64.dll) missing from your app's Bin directory, or the Visual C++ runtime not being installed 

我已經確保了ClearScript.V8文件夾(與ClearScriptV8-64.dll和V8-x64.dll)跨越到生產服務器和bin文件夾複製後我我目前正在查看是否缺少Visual C++運行庫。我下載並安裝了位於此處的Visual Studio 2015的Visual C++ Redistributable:https://www.microsoft.com/en-us/download/details.aspx?id=48145,但引發了相同的異常。

有什麼明顯的我在這裏失蹤?它是我安裝的錯誤的Visual C++運行時?

回答

1

這些DLL文件是否在ClearScript.V8文件夾中?例如,他們需要在bin\ClearScript.V8\ClearScriptV8-64.dll

或者,您可以嘗試ReactJS.NET 3.0的候選版本,該版本使用JavaScriptEngineSwitcher的更新版本,該版本改變了V8的加載方式,不再需要手動複製DLL文件。目前沒有關於ReactJS.NET 3.0的文檔,但它與當前的2.x版本很相似。我將盡快處理最終版本的文檔。

+0

是的所有必要文件都複製到bin \ ClearScript.V8。感謝您的回覆!我真的設法找到答案在你的Github reactjs.net :)看到我的答案在下面。 – alkesos

1

在我的情況下,我設法通過安裝Visual C++ 2013運行時解決此問題,這是在這種情況下實際工作的唯一版本。我既沒有2012年或2015年

沒有運氣我找到了答案在這裏:

https://github.com/reactjs/React.NET/issues/80

,並幫助我是評論:

又一個音符,ClearScript 5.4。 4自述文件說VS2015或2013 C++ 運行時間將工作,但根據我的經驗,它只有在2013年的 存在時才起作用。