ReactJs.. NET和服务器端使用V8渲染会在生产中抛出异常



我正在使用ReactJs。. NET中的ASP。NET MVC 4项目。我通过在应用程序启动时调用的ReactConfig.cs中指定这一点,禁用了回退到MSIE javascript引擎:

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 c++ Redistributable for Visual Studio 2015位于这里:https://www.microsoft.com/en-us/download/details.aspx?id=48145,但抛出了相同的异常。

这里有什么明显的我错过了吗?是错误的Visual c++运行时,我已经安装?

这些DLL文件在ClearScript中吗?V8文件夹吗?例如,它们需要在binClearScript.V8ClearScriptV8-64.dll

或者,你可以尝试一下ReactJS的候选版本。. NET 3.0,它使用了一个更新版本的JavaScriptEngineSwitcher,它改变了V8的加载方式,不再需要手动复制DLL文件。目前还没有关于ReactJS的文档。NET 3.0,但它与当前的2.0非常相似。x版本。我将很快为最终版本编写文档。

在我的情况下,我设法通过安装Visual c++ 2013运行时来解决这个问题,这是在这种情况下实际工作的唯一版本。我在2012年和2015年都没有运气。

我在这里找到了答案:

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

和帮助我的注释是:

只是另一个注意,ClearScript 5.4.4自述说VS2015或2013 c++运行时可以工作,但根据我的经验,它只在2013年起作用是礼物。

相关内容

  • 没有找到相关文章

最新更新