这里说的DllMain是指Win32 dll的入口函数,在这个函数中不能使用任何的托管代码,也就是说MSIL代码。
再进一步,DllMain存在的dllmain.cpp也是个特殊文件:
1)这个文件不能使用预编译头。只要你设置了需要使用预便一头,编译时就给报C1852,什么不是有效预编译头之类。
2)这个文件中使用using namespace XXXX,一定给你报XXXX不是有效的名称空间。
3)设置让此文件支持CLR,然后可以using namespace XXXX了。但是你一运行,给你报运行时错误。
直接给你提示不能在DllMain本地初始化中使用/clr,霸气不?
就说这么多吧,希望大家遇到类似情况少走弯路。