有什么方法可以在.Net 4.5 中从 DLL Main 调用托管代码?
我正在尝试开发一个应用程序来在远程进程中执行托管代码。
目前,我开发了一个 Cpp dll,它在 DLLMain 中加载托管程序集并执行一个静态方法。
我使用 CreateRemotedThread 使远程进程调用 LoadLibrary 以加载该 cpp dll 和 dllmain 将自动执行。
现在我得到了例外:尝试在 OS Loader 锁内进行托管执行。不要尝试在 DllMain 或图像初始化函数中运行托管代码,因为这样做会导致应用程序挂起。
在 MSDN 和 google 中搜索后,我注意到根本原因是在 Dllmain 中执行托管代码
所以我的问题是:
- 在我的情况下调用托管代码的任何方式
- 和其他解决方案可以在远程进程中执行托管代码