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



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

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

我已经包含了对System.Data.dllSystem.Data.OracleClient.dll的引用,但我仍然会收到这个错误。

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

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有很多来自SystemSystem.CollectionsSystem.IO等的类,如果没有这些类,你就无法真正构建.NET项目(包括一些.NET自己使用的类),而System.dll则有很多来自完全相同的名称空间的类,你可以在不使用这些名称空间的情况下获得这些类(但99%的情况下仍然可以)。

除非你正在编写一个绝对庞大的库,其中有数千个类覆盖了重叠的用例,否则你自己的程序集应该在每个DLL中使用一个名称空间,或者最多使用一个带有其他名称空间的名称空间,比如JaredksGreatCode中有JaredksGreatCode.UserInterface

以下对我有效:

Visual Studio-->网站-->添加引用…-->框架-->System.Data.OracleClient[选中此选项]

我必须添加对Oracle.DataAccess.dll的引用,然后我必须手动将所有对OracleClient.blahblah的引用与Oracle.DataAccess.Client.blahblah

希望这能帮助其他人。

在您的web配置文件中添加一个引用,如下所示。这对我有用。


<!--REFERENCES-->
<compilation debug="true" targetFramework="4.5">
  <assemblies>
    <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </assemblies>
</compilation>

您在System.Data.OracleClient.dll上添加引用。

相关内容

  • 没有找到相关文章

最新更新