我有一個可執行文件,例如我從C:運行。可執行文件引用另一個目錄中的某些DLL,例如C:\ MyDLLs。問題是,這些引用的DLL再次依賴於其他DLL,它們存儲在另一個目錄中。我可以告訴Visual Studio在哪裏查找這些缺少的DLL嗎? 非常感謝!如何在Visual Studio/C中定義DLL依賴關係的工作目錄#
回答
我以前有過這個問題,我創建了一個後期構建腳本,將所有需要的DLL複製到我的可執行文件的目錄中。
喜歡的東西: 複製 「$(PROJECTDIR)資源\ DLL文件\ yourDLL.dll」 「$(TARGETDIR)yourDLL.dll」
謝謝,但這將是數百個DLL複製。其他想法? – iDog 2010-08-24 20:14:24
http://msdn.microsoft.com/en-us/library/7d83bc18(VS.80).aspx它告訴你Windows用來查找DLL的搜索路徑。所以,你可以將C:\ DLLs目錄添加到PATH變量中。唯一的問題當然是它在搜索路徑列表中更低......所以如果它首先在其他位置之一中找到DLL,那麼它將超出它。 – KrisTrip 2010-08-24 20:16:58
我已經試過了,好奇地它不起作用,我不知道爲什麼.. – iDog 2010-08-24 20:44:16
您可以通過設置這些值參考您的應用程序集加載規則之外組件在配置中。下面是從this Microsoft KB article一個示例配置文件:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MyAssembly2" culture="neutral" publicKeyToken="307041694a995978"/>
<codeBase version="1.0.1524.23149" href="FILE://C:/Myassemblies/MyAssembly2.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
您使用<codeBase>
元素來告訴你的應用程序在哪裏看。
您必須使該組件具有較強的名稱(使用sn.exe工具)才能正常工作。
瞭解運行時間resolves assembly references以及您可能會利用該優勢,而不是經歷所有的環節以使用<codeBase>
也很有用。
謝謝,我喜歡你的建議。使用System.Reflection.Assembly可能是我的問題的答案。我會試一試。謝謝。 – iDog 2010-08-24 20:29:00
- 1. DLL依賴關係
- 2. 如何在C#中定義非託管dll依賴關係
- 3. 瞭解dll依賴關係
- 4. 確定Visual Studio Express Edition中的.dll依賴關係C#
- 5. 如何定義庫的依賴關係
- 6. Visual Studio部署項目:安裝目錄中的依賴關係
- 7. 如何在特定目錄中安裝bower依賴關係?
- 8. 如何將Visual Studio 2013 dll依賴關係留在後面?
- 9. 查找dll依賴關係
- 10. 指定項目的依賴關係:複製依賴關係?
- 11. Jenkins工作依賴關係
- 12. 共享DLL - 依賴關係
- 13. 依賴關係定義
- 14. makefile依賴關係如何工作?
- 15. 如何調查.NET DLL依賴關係?
- 16. poco netssl dll依賴關係
- 17. 在Gradle中定義依賴關係集
- 18. 定義POM XML中的依賴關係
- 19. Xcode工作區中的依賴關係
- 20. 如何執行具有依賴關係的WiX自定義動作DLL文件
- 21. 如何從Make目標中刪除依賴關係定義?
- 22. C#中的DLL依賴關係
- 23. CMake Visual Studio項目依賴關係
- 24. Visual Studio項目依賴關係
- 25. (Visual)C++項目依賴關係分析
- 26. 刪除對DLL的依賴關係
- 27. NetBeans中的Maven項目:如何向「依賴關係」和「測試依賴關係」添加依賴關係?
- 28. Visual Studio安裝程序中的依賴關係和DLL
- 29. 如何在build.sbt中定義Jackson數據綁定依賴關係?
- 30. 如何在Datagrid中定義依賴關係綁定
幾年前,我不得不在這樣一個項目上做這樣的事情,而且這不太好。 :) 祝你好運!! – 2010-08-24 20:21:45
嘿嘿謝謝;) – iDog 2010-08-24 20:39:01