我在VB.NET模塊中創建了幾個擴展方法。我把它們放在一個類中,構建它並獲得DLL。 從另一個程序中我引用了該DLL,並使用Imports
將其導入。 擴展方法出現在智能感知中,它可以正常工作,但在錯誤控制檯中會出現警告,說明:擴展方法到DLL
無法解析此引用。找不到程序集「nK0deExtendedMethods」。檢查以確保程序集存在於磁盤上。
有誰知道爲什麼會出現這個錯誤,即使我已經引用了DLL?
這是我把模塊與擴展方法放在一起的類。
Imports System.Runtime.CompilerServices
Imports System.Drawing
Namespace nK0deExtendedMethods
Public Module ExtMethods
<Extension()>
Public Function Merge(ByVal img1 As Image, ByVal img2 As Image) As Image
Dim bmp As New Bitmap(Math.Max(img1.Width, img2.Width), img1.Height + img2.Height)
Dim g As Graphics = Graphics.FromImage(bmp)
g.DrawImage(img1, 0, 0, img1.Width, img1.Height)
g.DrawImage(img2, 0, img1.Height, img2.Width, img2.Width)
g.Dispose()
Return bmp
End Function
'Public Class NewImageMethods
'End Class
End Namespace
我還有一個疑問。在Imports
聲明中,我必須提及該DLL的名稱以及Namespace
名稱。像這樣,
Imports ExtendedMethods.nK0deExtendedMethods
通常你只需要導入命名空間的名字,對不對?爲什麼會這樣呢?
非常感謝大家。
您是否嘗試清理並重建您的解決方案? – 2012-02-27 08:27:18
@AmenAyach是的,但沒有任何改變。 – Isuru 2012-02-27 08:34:36
在這些不好的情況下,我使用進程監視器(http://technet.microsoft.com/fr-fr/sysinternals/hh205949)來檢查DLL加載失敗的位置。祝你好運。 – remio 2012-02-27 09:02:37