首页 文章

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

提问于
浏览
5

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

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

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

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

5 回答

  • 0

    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%的时间) .

    除非您正在编写一个绝对庞大的库,但是有数千个类覆盖重叠的用例,您自己的程序集应该使用单个命名空间 - 或者最多只能在一个命名空间中使用其他命名空间,例如 JaredksGreatCode ,其中包含 JaredksGreatCode.UserInterface 它 - 每个DLL .

  • -2

    以下对我有用:

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

  • 0

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

    希望这有助于其他人 .

  • 1

    在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>
    
  • 6

    您在 System.Data.OracleClient.dll 上添加了参考 .

相关问题