Windows 10上的vscode:激活扩展...失败:模块没有自注册

时间:2016-09-18 10:31:19

标签: visual-studio-code vscode-extensions

这个问题已经提出了几次,我尝试了所有建议的解决方案,但没有任何帮助。

我所拥有的是VS代码扩展中的本机模块。这在Linux + Mac上运行得很好,但我无法在Windows 10上加载它。每次激活扩展并尝试加载本机模块时,我都会收到此错误。使它如此奇怪的原因是本机模块在节点会话中(在Win命令行中)可以很好地工作。我查看了Visual Studio Code使用的NodeJS版本并正好安装了这个版本(x86,因为vscode仍然是32位)。我在我的扩展文件夹(或node-gyp的节点模块文件夹)中执行了npm install npm -g,运行npm rebuild以及普通node-gyp rebuild。每次模块构建正常并在节点会话中工作。仍然我无法让它在vscode中工作。所以我认为它必须与Windows上的vscode应用程序有关,只是不知道它是什么。为了编译,我尝试了VS 2013和VS 2015。

这里有趣的是node-gyp如何在Windows上编译本机模块。看起来好像它使用了许多黑客,例如使用std::throw_with_nested(C ++ 11功能)时,编译后的模块会崩溃。另一个问题是win_delay_load_hook.cc文件,它包含一个hack来使一些奇怪的情况工作(这个init在Win 10上失败,所以我不得不禁用它,这是一个与vscode init无关的一般DLL init问题)。所以很可能它只是Win10上的node-gyp造成的所有麻烦。然而,正如我所写,本机模块在节点会话中运行良好。

我还能做些什么来找出究竟是什么问题?是否有一个日志文件,准确显示注册不正确的原因?一般来说,在Windows 10上是否存在vscode问题?

0 个答案:

没有答案