2011-05-19 22 views
2

因此,我最近更新了我的軟件,並使用新版本提供了一個新的dll文件,我們稱之爲My.dll。現在,舊版本在我嘗試過的每臺電腦上都能正常工作。調試只能在某些計算機上發生的「無法加載文件或程序集」

問題始於新版本。具體而言,至少在一臺計算機上,它聲明「無法加載文件或程序集My.dll」。當我將一個軟件的副本放在網絡驅動器上並直接從那裏運行軟件時,甚至會發生這種情況。它適用於所有其他計算機,但其中一臺計算機在其他計算機正常工作的情況下仍會出現同樣的錯誤。

問題的dll甚至與可執行文件在同一個目錄中,所以我在這裏真的很沮喪。我也嘗試過谷歌,但我發現的所有問題都與ASP.NET有關。任何想法如何去尋找問題將不勝感激。

+0

您是否嘗試過加入到DLL的引用而不是複製直接進入bin文件夾? – ThePower 2011-05-19 10:43:51

+0

程序集編譯爲32位,64位或任何CPU?正在運行的計算機是什麼位級別的操作系統? – 2011-05-19 10:47:41

+0

這個項目中有一個對dll的引用。該程序集在x86計算機上編譯爲x86。拒絕工作的計算機是x64。但是,它已在其他x64計算機上工作。 – bobblez 2011-05-19 10:50:17

回答

1

是否存在DLL的舊副本?也許用不同的名字?當我更改dll的名稱時,我遇到了類似的問題。在內部,名稱空間是相同的。

在我的情況下,舊版本的DLL仍然存在。 .NET與bin目錄中的兩個程序集有着完全相同的命名空間和類,無法決定要加載哪個程序集並引發異常。

刪除舊版本的DLL解決了這個問題。

+0

啊,這是它,這是一個組合,並沒有使用任何CPU作爲目標平臺。在我無法工作的計算機上,在另一個目錄中有一箇舊版本的dll,它只被編譯爲x86。這優先於任何CPU - 版本,從而打破了我的東西。非常感謝所有人! – bobblez 2011-05-19 11:10:56

0

--Right點擊項目 --Goto屬性 - >生成標籤 --change平臺和平臺的目標任何CPU,保存並運行

相關問題