2012-12-12 85 views
0

我有一個解決方案,其中包含許多項目,每個項目都引用位於第三方文件夾中的程序集。在C#解決方案中添加屬於另一個解決方案的項目

我現在需要訪問調試那些程序集的代碼,幸運的是我必須編寫代碼。

我想知道什麼是最好的方法是在我當前的解決方案中引用程序集的代碼?

我應該刪除的組件都是我引用(在第三方文件夾),然後將這些組件的項目添加到我目前的解決方案,或是否有更好的辦法?雖然這讓我能夠訪問代碼,但是我在這裏看到的問題是程序集最初位於第三方文件夾中,因此我需要確保在重新檢入代碼時必須切換回第三方文件夾。

必須有比這更好的方法嗎?

+0

您使用的是什麼源代碼管理系統? –

+0

我們正在使用accurev,對於我們正在使用巡航控制系統進行構建而言有點矯枉過正。 –

回答

1

實際上,你只需要第三方的DLL相應的pdb文件。 pdb文件包含所有必要的信息。無需刪除參考。

+0

如果我打開「公共語言運行時間例外」,這個工作嗎?換句話說,這些例外情況是否也會被捕獲? –

+0

@JD:好的。即使這是.NET框架本身,該選項甚至可以作用於稍後在代碼中捕獲的異常。 –

+0

謝謝,正是我需要的。我即將開始刪除引用,但幸運的是現在我不必。 –

1

由於許可限制,調試第三方程序集並不是一個好主意。但是,如果你想這樣做,你只能刪除dll的引用並添加對項目的引用。您可以自動化構建改變引用的DLL的發佈版本

+1

授權限制,當他有源代碼?不是真的。 「 –

+0

」此庫在DFOBFUL(不修復我們的漏洞許可證)許可下獲得許可「 –

+0

要獲得源代碼,您可以使用反射器或dotPeek或類似的東西 –

1

您在參考3rdParty文件夾的同時運行您的項目。在獨立的visual studio實例中打開這些庫代碼,並在調試菜單中使用「attach to process」選項

訪問http://msdn.microsoft.com/en-us/library/c6wf8e4z(v=vs.100).aspx以瞭解如何執行此操作。

+0

請注意,這不適用於高級版本的visual studio –

+0

這是真的。 OP在visual-studio-2010下標記了這個問題。所以我認爲它不是快遞版。 – Maheep

+0

是的,v2 2010,我會試試看。 –

1

如果您有相應的*.pdb文件有問題的DLL文件,你可能會越來越遠,只需將它們添加到您的解決方案。當然,他們需要將其複製到與其DLL文件相同的位置。

相關問題