2011-11-06 45 views
0

我正在嘗試MySQL,並且已經下載了服務器,連接器和查詢瀏覽器。但是,我只下載了較舊的文件,因爲網站上當前顯示的文件需要.NET 4.0,這是我不想忍受的。無法找到C#命名空間錯誤,儘管引用了.dll

我已經下載,具體而言,

MySQL數據庫服務器,5.0.91,Windows安裝程序格式,32位 http://downloads.mysql.com/archives.php?p=mysql-5.0&o=-win

MySQL連接,5.0.7 http://downloads.mysql.com/archives.php?p=mysql-connector-net-5.0

和MySQL查詢瀏覽器和MySQL管理員,1.1.20 Windows安裝程序格式 http://downloads.mysql.com/archives.php?p=MySQLAdministrationSuite&o=-win

我已經提取連接器,並找到一個MySQL.Data.dll,以及一個MySQL.Data.Tests.dll

我將它們複製到我的程序所在的位置並將其放入Bin/Debug中,然後將其作爲參考到MySQL.Data.dll通過Visual Studio(瀏覽)。我期待下面的代碼工作:

using MySQL.Data; 

但它不會。它返回一個命名空間MySQL無法找到。啊。然後我下載了一個.msi版本的連接器,並試圖添加它作爲參考。它甚至沒有出現在.NET列表中。

關於爲什麼它不起作用的任何想法?謝謝。

+0

試試這個......重建你的項目並上傳所有bin DLL,如果你已經做了這個,然後重新上傳mysql.dll並檢查結果。 –

回答

2

只需雙擊VS.Net參考。它會將它帶入對象瀏覽器,您將看到其中包含的命名空間。如果你沒有看到你期望的命名空間,那麼你的DLL就是錯誤的。

此外,您通常希望避免將外部依賴關係直接放入Bin中。將它們放在項目之外並添加引用。在MySQL的情況下,您可能不需要找到DLL的確切路徑,它很可能在您完成MySQL安裝後顯示在添加引用窗口的「.Net」選項卡中。

+0

哦。非常感謝!! –

9

很簡單 - 你已經有了:

using MySQL.Data; 

實際的名稱空間是MySql.Data,所以你需要

using MySql.Data; 

C#是區分大小寫的。

將來,您可以使用Object Explorer作爲xanadont提及,或使用諸如ReflectordotPeek之類的東西來查看庫中的類型。

+0

謝謝,以及。我不知道我是如何錯過的。 –

+0

IDE(Xamarin 4.0.12)不會在預測列表中顯示它,真是令人難過。無論如何,現在沒關係,感謝Jon Skeet爲拯救我的一天! – dpp

相關問題