有一個用C#編寫的項目,它利用了一些外部庫。 這些是已簽名的庫(使用版本,密鑰),並且通常在GAC中註冊。如何將源文件添加到外部庫?
我的應用程序使用這些庫。在工作和調試應用程序時,我希望有時可以訪問庫的來源,以查看我的代碼如何變得更深入以及內部發生了什麼。
有圖書館具有參考對方(所以他們期望具體的版本,用鑰匙)
我怎麼能準備的程序庫,可調試與查看源代碼的能力?
是將DLL文件的來源添加到項目中的唯一選擇(重新編譯),並經我的應用程序引用?
有一個用C#編寫的項目,它利用了一些外部庫。 這些是已簽名的庫(使用版本,密鑰),並且通常在GAC中註冊。如何將源文件添加到外部庫?
我的應用程序使用這些庫。在工作和調試應用程序時,我希望有時可以訪問庫的來源,以查看我的代碼如何變得更深入以及內部發生了什麼。
有圖書館具有參考對方(所以他們期望具體的版本,用鑰匙)
我怎麼能準備的程序庫,可調試與查看源代碼的能力?
是將DLL文件的來源添加到項目中的唯一選擇(重新編譯),並經我的應用程序引用?
您無法在部署時調試庫,您可以使用異常處理和日誌記錄來在執行時跟蹤事件。 或者您可以使用新的Intellitrace(http://msdn.microsoft.com/en-us/library/dd264915.aspx)來跟蹤執行情況。
如果可用,請使用程序集將引用程序集的調試符號(.pdb文件)添加到相同的文件夾中。
如果它是一個開源項目,只需下載源或檢查出來通過源頭控制和參考項目本身在您的解決方案,而不是組裝。
對於閉源組件,你可以要求供應商,如果源代碼可用,或者要求他們與.pdb文件調試編譯。
首先,設置一個symbol server。這使您的調試器可以下載庫的pdb文件。即使對於GAC中的程序集,這也可以工作。
接下來,source index the pdb files。這將信息嵌入到pdb文件中,使調試器能夠從源服務器(例如,Mercurial,SVN,TFS)檢索源。
因此,您最終需要一個源服務器和一個符號服務器,並在構建過程中添加幾個步驟。