後發現了一個解決方案:How do I handle a failed DllImport?捕捉DllNotFoundException /調用
我正在寫檢查操作系統版本做取決於主機是否使用Vista的系列或NT不同的事情的應用Windows系列版本。如果是Vista系列,它會加載一些DLL(使用DllImport),但不使用這些。問題是,使用DllImport加載它們會在運行時導致DllNotFoundException,如果在沒有這些DLL的較早版本的Windows上使用它們。
如何捕獲/防止/忽略DllNotFoundExceptions?嘗試在我的未處理的異常事件中將異常設置爲「處理」不允許應用程序繼續。
在呼叫站點或程序加載時(但在您真正嘗試調用這些函數之前)拋出異常嗎? – 2009-11-06 10:29:04
捕捉異常並不理想,因爲應該避免將異常作爲正常應用程序流的一部分。就你而言,在特定的平臺上,每次調用都會首先拋出一個異常,如果可能的話,我會避免這種異常。 – Lucero 2009-11-06 10:52:56