程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> .NET dll訪問中的一個問題

.NET dll訪問中的一個問題

編輯:.NET實例教程

最近項目開發中碰到的,沒有找到微軟相關的document,不知道是不是未存檔的,所以在這裡說一下。

情況是這樣的,有一堆dll放在目錄A,另外一個exe程序放在目錄B。目錄A當中dll有些是clr支持的,有些是純win32的。這些win32 dll之間通過隱式調用(.h頭文件&.lib文件)時一切正常,但是如果是通過LoadLibrary或者相關的函數顯式調用則必須指定dll文件的完整路徑,否則盡管它們都在同一個目錄A中,運行時系統也只會去搜索exe所在的目錄B,因為在目錄B中找不到指定文件名的dll將發生系統錯誤。解決方法最簡單的就是利用SetDllDirectory函數動態的添加目錄A到系統搜索目錄中。

另外,經過實驗,.Net 3.5(VS2008Beta2)中ms已經解決了這個問題,將caller dll所在目錄默認已經加入到了callee dll的搜索路徑中,這樣直接就可以通過文件名調用了。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved