2010-10-08 55 views
5

我們經常有一套共同的核心庫,對於我們的一些發展,我們想把它們看作是dll引用,因此只引用dll而不包含項目文件。有沒有簡單的方法來切換項目和它的DLL

其他時候,我們需要所有項目進行親密的調試會話。我不能只將Uber.sln和Core.sln作爲項目文件中的參考。我在不同的項目上已經有好幾年的問題,但除了擁有Uber.sln和50個項目外,沒有任何解決方案。

任何想法/提示/方向歡迎!

回答

2

只要使用Debug構建DLL並且您擁有PDB,則不需要將它作爲「項目引用」包含在內。

它會提示您輸入源代碼,或者您可以在解決方案中打開源代碼並設置斷點。

How to show source code in debug when using .lib and dll

+0

+1,yup。它很少有問題找到.pdb文件,只要它仍位於原始的生成文件夾中即可。 – 2010-10-08 16:41:46

2

發展分享了他們自己的項目或項目的DLL。編譯它們並將它們添加到引用它們的項目中的lib文件夾中。
創建一個開發樹是這樣的:

/lib 
shareddlls go here 
/src 
solution.sln 
/projectfolder 
    project.proj 
/tools 
testing frameworks 

當你在VS調試,並進入自己的DLL,你仍然應該能夠看到代碼,以便無需在共享DLL添加到一個超級項目。如果你不能看到代碼,那麼把它作爲一個黑盒子來處理。調試進入的內容和出現的內容。如果這不是你所期望的,那麼問題出現在共享dll中。去他們自己的項目中進行調試。

使用測試框架在自己的項目中測試共享dll。 -----

+0

有時您想要開發跨共享dll和應用程序dll的功能。那時有一個大的解決方案支付股息。它似乎是MS不支持的一種工作方式。 – Squirrel 2010-10-19 09:20:45

+0

@Squirrel對我來說這是一個糟糕的設計。每個類都應該對一件事負責,類似的項目(dll)應該組合類似的功能。努力消除依賴。 – skyfoot 2010-10-19 10:20:21

+0

讓我改述一下,經常需要一個調試會話,您必須遵循服務器頂級請求到「組件」dll中的請求。你意識到組件需要修復的問題,但是在組件需要啓動組件解決方案,重建組件,然後將這些內置的DLL並更新應用程序解決方案/項目所在的DLL時,需要進行修復。指向。總而言之,這只是一個小故障,所以我們有一個大的解決方案。這兩種選擇都不是理想的 - 這種情況聽起來很熟悉還是僅僅是我? – Squirrel 2010-10-27 20:21:34

1

我想我最近的答案是包括解決方案中的所有項目,也是一個dll項目,編譯時會將產品/罐裝dll發送到輸出目錄。

然後通過使用不同的配置,我可以在正在構建的dll項目之間切換具有正在構建的項目的調試配置到發佈配置。

會給它一個去和回報....

+0

嗨松鼠,它是如何工作的?我有和你一樣的問題。謝謝。 – toddmo 2014-11-20 20:48:35

相關問題