命名空间"System.Data"中不存在类型或命名空间名称"OracleClient"

jar*_*edk 5 c# reference oracleclient system.data system.data.oracleclient

尝试运行我的代码时,收到以下错误:

CS0234:名称空间"System.Data"中不存在类型或命名空间名称"OracleClient"(您是否缺少程序集引用?)

我已经包含对System.Data.dll和的引用System.Data.OracleClient.dll,但我仍然收到此错误.

错误是由using System.Data.OracleClient我的命名空间声明中的行引起的.

Jon*_*nna 6

using System.Data.OracleClient指令意味着在尝试确定非全名意味着什么时应该考虑该命名空间.

添加引用意味着您添加对给定程序集的引用,在本例中为System.Data.OracleClient.dll.从VisualStudio,SharpDevelop或MonoDevelop,您将在项目资源管理器视图中看到一个参考文件夹.右键单击"添加引用"(VisualStudio和SharpDevelop)或"编辑引用"(MonoDevelop),然后添加System.Data.OracleClient.dll

如果使用nant,则需要编辑nant脚本.

程序集和命名空间重叠,但不完全相同.引用意味着您可以使用,例如,System.Data.OracleClient.OracleDataReader因为项目现在知道代码所在的程序集.该using指令意味着您只需要键入OracleDataReader.程序集和命名空间之间往往存在大量匹配,因为这样可以使每个人的生活更轻松,但有时候程序集包含来自多个命名空间的类,以及命名空间在多个程序集上拆分时.一个典型的例子是,mscorlib中有很多来自班System,System.Collections,System.IO等你不能真的希望建立一个没有NET项目(包括一些.NET使用本身),而System.dll中有一堆更准确地从您可以在不使用的情况下获得相同的命名空间(但您仍然会有99%的时间).

除非你写,虽然绝对庞大的图书馆,有几千个类覆盖重叠的使用情况,您自己的组件时,应当有一个命名空间的工作-或者至多一个一个与一个内一些其他的命名空间,就像JaredksGreatCodeJaredksGreatCode.UserInterface内它-每个DLL.