C++ 插件在 nodev0.8.18 中工作正常但在 nodev0.12.2 中不起作用

C++ addon works fine in nodev0.8.18 but does not work in nodev0.12.2

我有一个 c++ 插件,它使用托管代码并且可以在 nodev0.8.18 上正常工作。现在我正在尝试将我的节点升级到 0.12.2。我重建了 nodev0.12.2 和 C++ 插件。该插件构建良好,但是当我调用该插件时,我得到 Microsoft Visual C++ 运行时库弹出屏幕,其中显示 -

"R6033 - Attempt to use MSIL code from this assembly during native code initialization. This indicates a bug in your application. It is most likely the result of calling as MSIL - compiled (/clr) function from a native constructor or from DllMain".

请帮忙...

很明显是.node的入口点和.node/.dll的管理状态有问题

您可以尝试使用类似以下内容的“非托管”入口点:

杂注管理(推送,关闭)

NODE_MODULE(我的连接器,InitAll)

pragma managed(pop)

NODE_MODULE 基本上是定义 dllmain 的宏,我给出的宏会要求 VS 将 dll 定义为非托管。您的应用程序的其余部分将保持托管状态。