2011-07-22 53 views
22

什麼導致此構建錯誤?'x.cs'中的'x'類型與導入類型'x'衝突

類型 'AriaLibrary.AriaBL.Book' 'I:\編程\ MyProgram \圖書館\ AriaNetDelijanCorporation \ AriaLibrary \ AriaBL \ AriaBL.cs'

衝突與進口類型

'AriaLibrary.AriaBL.Book'in

'i:\ Programing \ MyProgram \ Library \ AriaNetDelijanCorporation \ AriaLibrary \ bin \ Debug \ AriaLibrary.exe'。

使用 'I:\ Programing \ MyProgram \ Library \ AriaNetDelijanCorporation \ AriaLibrary \ AriaBL \ AriaBL.cs'中定義的類型。

I:\編程\ MyProgram \圖書館\ AriaNetDelijanCorporation \ AriaLibrary \ UI \文件\書\ frm_AddNewBookISO.cs 24 16 AriaLibrary

+8

嗯...你嘗試讀它? – Cipi

+9

好點 - 但它是一個真正的問題。我們是不是應該成爲一個社區,並且將這個問題編輯爲稍微相關的問題?有一個很好的答案張貼。 –

+5

這個「不是真正的問題」爲我節省了大量的時間。我希望我可以投票重新打開它 – Joel

回答

49

您已經添加到項目的輸出參考。

換句話說,當試圖編譯你的項目AriaLibrary來產生AriaLibrary.exe時,編譯器會導入程序集AriaLibrary.exe。在磁盤上,該文件存在於以前的版本中。

因此,編譯器會找到兩個類,一個是它現在要編譯的類,另一個來自以前的版本,因此會得到警告。

由於沒有正確的理由讓輸出項被導入爲自己的引用,所以您可以安全地刪除該引用。

檢查AriaLibrary項目的參考列表並刪除具有相同名稱AriaLibrary的參考。

+0

謝謝。簡單而愚蠢的錯誤,但乍看之下並不明顯。 – AFract

+0

我找到了一個與我自己的項目名稱完全相同的參考。擺脫之後,我可以成功構建我的應用程序。謝謝!! – hina10531

3

當代碼中的Type命名空間與導入的DLL中的名稱空間具有相同的簽名時,會發生這種情況。

所以你的情況看來,你在你的代碼命名空間AriaLibrary.AriaBL.Book也存在引用的程序集