2011-01-31 34 views
2

我有一個數據層的MySQL.Data 5.2.3程序集的引用,很好。我目前我有小控制檯應用程序inteh相同的解決方案引用JUST THIS數據層連接就好了。然後我創建了一個單元測試項目(也以相同的溶液)和參考相同的數據層的項目,並從該獲取:asp.net 3.5引用項目與程序集引用在單元測試中拋出簽名/強名稱錯誤

試驗方法LTTests.WrapperTest.LoginTest拋出異常:System.IO.FileLoadException :無法加載文件或程序集'MySql.Data,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = c5687fc88969c44d'或其某個依賴項。強名稱簽名無法驗證。程序集可能已被篡改,或者延遲簽名,但沒有用正確的私鑰完全簽名。 (來自HRESULT的異常:0x80131045)。

所以我想明白...我可以做一個控制檯exe文件,它的工作原理,但不是一個單元測試?這讓我感到緊張,以建立一些明顯有缺陷的東西,但我不知道接下來要做什麼。我迷路了,我一直在重新添加各種各樣的東西來尋找交易的內容,我不知道該怎麼辦。

異常來自數據層而不是來自測試(每個堆棧),所以它就像測試調用圖層的方法(duh)並且數據層正在抽搐,但不是控制檯?

謝謝。

回答

1

這是沒有答案的,爲什麼有錯誤,但一個可能的方式找到它:

您可以使用「程序集綁定日誌查看器」(Fuslogvw.exe)屬於DOTNET SDK找到什麼是加載和爲什麼。

如果啓用了日誌記錄功能,它可以顯示哪些程序集是從哪個目錄加載的,以及哪個程序集導致它加載。

詳見http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.80).aspx

所以可以有不同版本的MySql.Data躺在附近和所述錯誤消息表示該即發現版本號不是它期望之一。

+0

其實這有幫助。在現在考慮的時候,我在這臺機器上安裝了5.2.7,但客戶端必須使用5.2.3,所以也許GAC版本以某種方式取代了引用的版本。我會檢查一下,謝謝。 – BryanGrimes 2011-01-31 20:34:00

相關問題