2016-10-03 52 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年的 存在时才起作用。