我知道還有關於這個主題的其他問題,我已經看過this question,但我希望在這兩方面看到更多的討論和信息 - 是一個更好的做法,將項目添加到解決方案並參考該項目,或者添加對.dll的引用?項目參考與DLL參考 - 哪個更好?
回答
這不是什麼選擇。如果你有兩個項目的解決方案,那麼沒有使用項目引用沒有意義。如果你的解決方案沒有這個項目,那麼你有使用程序集引用。
所以真正的問題可能應該是:我是否同時創建了兩個項目的解決方案?是的,只要項目仍處於調試階段並且需要修復錯誤。
那麼,當您在調試和發佈模式下構建和測試時,項目引用都很有用。如果您直接添加一個DLL,那麼您將被鎖定到構建的那個特定的DLL中。項目參考允許這是一個構建時間的決定。
這是正確的,你在說什麼。同時它在使用.NET程序集時不會導致問題。它們包含稍後在目標機器上編譯的IL代碼。一個非常好的決定時間。 – 2013-07-22 07:46:31
如果你只有DLL,那麼你堅持與DLL參考(顯然)。
如果您有源代碼,那麼通常使用項目引用會更好。可能有些情況下,你有一個永遠不會改變的實用程序庫,但是如果你需要一個錯誤修復的機會,那麼有一個項目引用將使調試更容易。
相對於您的項目架構,您應該始終堅持問題域內的項目。您應該使用GAC,如果這適用於您的環境。
GAC與Visual Studio項目文件中的項目引用vs dll引用有什麼關係? – Abel 2014-09-16 18:34:33
摘要 - 工程引用的項目由VS DLL
參考由項目
- 代碼是可見
- 查找所有引用例如一類(因爲代碼是可見的)
- 更好地進行測試(所有)
- 更好的代碼重新設計(影響)由DLL
參考
- 代碼隱藏
- 分離框架和項目(用於提供框架)
- 更快的編譯(因爲DLL已經編譯)
- 1. VS項目DocumentFormat.OpenXML dll參考
- 2. VS2010 - 項目參考
- 3. 參考C++ dll
- 4. 項目參考Vs文件參考?
- 5. 參考庫項目
- 6. 參考與服務參考項目:未知端點
- 7. AWS dll在c#項目中的參考
- 8. Visual Studio參考項目/ Dll的
- 9. VB6項目參考
- 10. 如何更新參考.dll?
- 11. 參考兩個項目
- 12. VSCode多個項目參考
- 13. 參考其他項目與複製本地上它的參考
- 14. 指定DLL參考
- 15. 添加DLL參考
- 16. 參考添加DLL
- 17. Clojure參考項目最新?
- 18. 更好的升壓參考?
- 19. 參考文件夾與嵌套項目
- 20. WCF服務參考和參考同一個項目
- 21. 問題與參考類庫項目
- 22. 項目參考問題
- 23. Visual Studio 2008項目參考
- 24. WCF與ASP.NET MVC - 參考項目
- 25. 錯誤的參考PcapDotNet.?.dll
- 26. 項目的參考DLL的路徑「魔法」,當DLL被刪除
- 27. Eclipse項目參考C
- 28. 項目之間的參考
- 29. 跨項目參考 - XCODE 4
- 30. '僞造'項目參考?
當你有幾個解決方案時,它會更復雜。使用項目引用可以中斷包含引用項目而不是引用項目的其他解決方案的構建。 Visual Studio然後靜默解析(!)項目引用到bin/Debug中的dll文件引用,這是意外的,如果解決方案在Release中編譯,則會中斷。 – 2012-06-06 12:40:12
您可以通過首先將父項目添加到您的解決方案來解決此問題,並且不要添加任何沒有父項目(引用)項目的項目 – 2013-03-01 18:10:38
只需添加 - 如果您在項目A上使用dll引用時單擊「查找所有引用「對於來自項目B的方法,來自項目A的方法參考根本不會出現=配方錯誤 – BornToCode 2014-08-21 12:47:16