2012年8月30日

如何Debug dll檔,並避免『error BC30971:混用了檔案參考和組件'XXX'的專案參考』

一般要Debug所參考的DLL有兩種方式:

1. 把dll的專案加入方案,並把參考改為專案參考
2. 如果是檔案(DLL)參考,則DLL路徑下需要有偵錯Symbol檔(PDB檔),pdb檔必須要和DLL同一目錄
,專案編譯要產生PDB檔請依以下步驟:
點 專案-屬性-編譯-進階編譯選項
image
打開後把產生偵錯碼設為Full
image
日前維護一個方案,為了方便debug,採以上方案1,把專案1的參考設為專案參考(指向專案2),進行編譯時便出現以下訊息:
error BC30971: 間接參考了含有 'YYY.KKKK' 的組件 'XXXX。請在您的專案加入 'c:\sourcecode\bin\XXX.dll' 的檔案參考。 這項錯誤也可能是因為混用了檔案參考和組件 'XXX' 的專案參考。在上述情形中,請嘗試將專案 'TestProject' 中的檔案參考 'XXX.dll' 以專案參考 'XXX' 取代。
解決之道如同訊息所示,乖乖地把參考設回檔案參考
但是要怎麼Debug所參考的DLL呢?只能採方案2了

參考
<message> 這項錯誤也可能是因為混用了檔案參考和組件 '<assemblyname>' 的專案參考
How to debug a referenced dll

沒有留言:

張貼留言