更新 :
binding.gyp正确设置文件后,node-gyp可以自动执行以下手动步骤。
事实证明这很容易。经过努力与CLR托管并在主机中进出数据一段时间后,事实证明,到目前为止 ,您实际上可以为节点扩展启用/ clr没问题
。这是如何做:
- 按照http://nodejs.org/api/addons.html上的说明生成项目文件
- 在Visual Studio中打开生成的.sln(我在VS 2010上),然后在项目设置中启用/ clr
- 现在它可能无法构建,您必须让-在这种情况下实际上很有用-错误消息会将您引导至与/ clr冲突的标志
我必须更改这些标志才能使其工作:
- 禁用/ EHsc(C ++异常)
- 禁用/ RTC1和/ RTCsu
- 发行:将/ MT更改为/ MD
- 调试:将/ MTd更改为/ MDd
- 发布:将/ GR-更改为/ GR
然后,您可以混合使用托管和非托管代码,例如引用.net dll。
#pragma managed#using <managed.dll>void callManaged(){ managed::Class1^ c1 = gcnew managed::Class1(); System::String^ result = c1->Echo("hola"); System::Console::WriteLine("It works: " + result);}#pragma unmanagedHandle<Value> Method(const Arguments& args) { HandleScope scope; callManaged(); return scope.Close(String::New("world"));}更新 刚刚发现此链接的方法很简单:http :
//joseonpre.com/2012/04/10/writing-your-first-native-module-for-node-dot-js-
on-windows/



