我想通過強制它加載和使用當前目錄中的DLL,而不是Windows目錄,但它不起作用,使其在每個操作系統上工作的程序。我試圖啓用「複製本地」並更改參考路徑,但沒有任何成功,程序試圖從windows目錄加載DLL。 我的問題是:我該如何解決這個問題?強制項目從當前目錄加載DLL
0
A
回答
0
該目錄%windir%\assembly
被稱爲GAC。組件不會在那裏複製,但通常使用gacutil /i
或安裝程序包進行安裝。
對於許多其他庫和應用程序在未集中協調的構建版本中引用的庫,GAC是合適的文件夾。使用GAC允許您擁有同一個庫的多個版本,所有這些版本都可能間接需要,即使是單個應用程序,也可以並行安裝在系統上。例如,.NET框架本身。
您構建的程序集可能不是那種。基本上是單個應用程序的一部分的應用程序程序集和庫應該永遠不會交給GAC,否則您可能會遇到麻煩。存在各種可能的問題:
- 一個意外或故意創建具有相同版本號的同一庫的不同(不兼容)構建。
- GAC中的程序集引用的程序集不在GAC中
- 一個應用程序將相同程序集安裝到GAC中,但另一個應用程序想要從其本地文件夾(應用程序二進制文件所在的位置)加載它。
加載程序集時,GAC中的代碼獲取首選項。要從GAC中刪除裝配,請使用gacutil /u
。
1
DLL的搜索順序是documented here on MSDN。它還包括如何修改搜索順序的說明,以便首先搜索本地bin目錄,而不是GAC。
相關問題
- 1. 從給定目錄強制靜態加載dll
- 2. 如何強制當前目錄中的dll文件?
- 3. C++從子目錄加載DLL?
- 4. 從當前目錄
- 5. 從項目目錄加載XML文件
- 6. PHP:強制從目錄根目錄下載圖像?
- 7. 從當前目錄強制導入模塊
- 8. 下載到當前目錄
- 9. 從C#項目製作DLL?
- 10. qt項目當前目錄的路徑
- 11. 將vim當前工作目錄設置爲當前項目根目錄或當前文件的目錄
- 12. 從Visual Studio 2010加載項讀取當前項目設置?
- 13. 查找當前目錄和子目錄包括當前目錄
- 14. 當前目錄
- 15. 從HTML加載的C#ActiveX對象的當前目錄
- 16. 從球拍當前目錄加載模塊
- 17. C#從當前目錄加載一個xml文件?
- 18. 從VScode當前項目目錄中導入包
- 19. Django 1.4新項目文件夾結構強制項目前綴?
- 20. 如何從Visual Studio加載項獲取項目目錄
- 21. 在當前目錄
- 22. 更改dll項目的輸出目錄
- 23. 強制重載!從lib目錄在rails 3.2控制檯
- 24. 使用rsync複製當前目錄而不指定當前目錄的名稱
- 25. VBScript當前目錄+子目錄?
- 26. 從根目錄加載.htaccess
- 27. 加載從根目錄
- 28. asp.net項目不加載另一個項目的根目錄
- 29. 選項獲取當前工作目錄
- 30. Visual Studio Extensibility - 卸載當前項目
您是指Windows目錄,而不是GAC?即這些非託管DLL? –
我的意思是,如何讓程序在當前目錄下使用DLL引用(debug) –