正嘗試在 OS 加載程序鎖內執行託管代碼。不要嘗試在 DllMain 或映像初始化函數內運行託管代碼,這樣作會致使應用程序掛起。函數
.NET2.0中增長了42種很是強大的調試助手(MDA,Loaderlock 是其中之一。Loaderlock檢測在一個擁有操做系統loader lock的線程上運行託管代碼的狀況。這樣作有可能會引發死鎖,而且有可能在操做系統加載器初始化DLL前被使用。雖然 這樣作頗有必要,但在進行開發調試的時候,實在太麻煩。這是因爲正在加載特定資源:例如換膚控件等。工具
一、把VS菜單的 調試->異常->Managed Debuggin Assistants->LoaderLock 的 選中狀態去掉 。操作系統
二、若是異常(exception)這一項沒有的話,在工具---自定義---命令選項卡---左邊選擇調試--右邊把異常託到菜單裏。.net
三、快捷鍵Ctrl+Alt+E,修改Managed Debuggin Assistants->LoaderLock 的選中狀態去掉。線程
一、在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面增長一個String,值爲"0"3d
二、不過這樣作,在該計算機上全部基於.NET2.0開發都得不到MDA的好處調試
參考文章:blog
http://blog.csdn.net/kissqi/article/details/4872316資源