无法加载V8接口组件。加载v8-ia32.dll的失败信息: C:\ Users \ szymarad \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ vs \ 506fb4ab \ b0850f51 \ assembly \ dl3 \ 28a19a82 \ 00b1e3d3_a5add301 \ v8-ia32.dll:找不到指定的模块 C:\ Users \ szymarad \ source \ repos \ KTM \ Geta-KTM3.0 \ src \ KTM.Web \ v8-ia32.dll:找不到指定的模块 C:\ Users \ szymarad \ source \ repos \ KTM \ Geta-KTM3.0 \ src \ KTM.Web \ bin \ v8-ia32.dll:找不到指定的模块
也已安装 用于Visual Studio 2017的Microsoft Visual C ++可重新分发
我已清除temp asp.net文件夹 清洗液 重新启动计算机
试图安装microsoft.clearscript但比我明白 无法加载文件或程序集“ ClearScriptV8-32.DLL”或其依赖项之一。
建议?
答案 0 :(得分:1)
在VS项目属性或项目文件中将IIS Express的位数切换为x64:
<Use64BitIISExpress>true</Use64BitIISExpress>
答案 1 :(得分:0)
ASP .NET在bin文件夹中查找该v8-ia32.dll程序集的原因是,默认情况下,当您运行ASP .NET Web项目并且IIS Express在后台运行时,它以32位运行(x86)模式,因此它将以32位(x86)相同的模式加载程序集或模块。如果您已经安装了Visual Studio 2017的MS Visual C ++可再发行组件,那很好,但是不能解决问题。
解决方案是在ASP.NET项目中安装Nuget包JavaScriptEngineSwitcher.V8.Native.win-x86,该组件在构建ASP.NET项目后将提供三个程序集。
在\ bin \ x86 \目录下:
如果您安装了仅Microsoft.ClearScript的其他软件包,并且确实有JavaScriptEngineSwitcher软件包,则可能会造成麻烦,但是请尝试仍然将软件包JavaScriptEngineSwitcher.V8.Native.win-x86安装到解决问题。
要获得好的文档,您还可以参考Taritsyn的文档。参见https://github.com/reactjs/React.NET/issues/409,他给出了要遵循的详细说明和准则。
在帖子的 V8 部分中,他说:
“通常,将ClearScript.V8软件包与 JavaScriptEngineSwitcher.V8导致错误。”
然后,他还建议您如果不确定使用JavaScriptEngineSwitcher.V8.Native.win的方式,则可以安装32位和64位软件包。
“。NET应用程序,ASP.NET Web应用程序和64位站点 Windows不仅可以在64位进程中运行,而且可以在32位进程中运行 流程。为了使JavaScriptEngineSwitcher.V8在 32位进程需要安装 JavaScriptEngineSwitcher.V8.Native.win-x86软件包。如果你不知道 在哪个过程中将运行您的应用程序或网站,然后安装 两个包。”
希望这有助于解决问题。
答案 2 :(得分:0)
我遇到了类似的错误,并通过重建整个解决方案来解决了这个问题:
packages
文件夹(例如,使用Windows资源管理器)可能不需要某些步骤,但主要是它开始起作用:)
答案 3 :(得分:0)
我的问题是该网站在服务器上出现此错误。解决我的问题的步骤是在服务器上下载并安装 visual-c-redistributable。
答案 4 :(得分:0)
对我来说有帮助: 工具 -> 选项 -> 项目和解决方案 -> Web 项目 ->“为网站和项目使用 64 位版本的 IIS Express”。