2011-11-06 46 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

相关问题