Attempting to execute managed code within the OS loader lock. Do not try to run managed code in the DllMain or image initialization function, osdllmain
When I call an external dll during form initialization, it throws a "attempt to execute managed code within the OS loader lock" for unknown reasons. Do not try to run the managed code in the DllMain or image initialization function. "The program is stuck and checked online. The related instructions are as follows :. in NET2.0, 42 powerful debugging assistants are added. loaderlock is one of them. Loaderlock detects the running of hosted code on a thread with the operating system loader lock. This may cause deadlocks and may be used before the operating system loader initializes the DLL. Generally, this means that the form is not completely generated, and you call other dll at this time, and this exception may be thrown! The solution to this exception is: debug the vs menu-> exception-> Manage Debuggin Assistants-> remove the LoaderLock selected status. If the exception item does not exist, on the tool --- custom --- command tab --- Select Debug on the left -- press Ctrl + Alt + E on the right side of the exception menu, modify the selected status of Managed Debuggin Assistants-> LoaderLock. Remove Method 2 from HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \. add a String under NETFramework with a value of "0". However, in this case, all. NET2.0 development does not get the benefits of MDA.