尝试运行我的代码时,我收到以下错误:
CS0234:命名空间“System.Data”中不存在类型或命名空间名称“OracleClient”(您是否缺少程序集引用?)
我已包含对System.Data.dll
and的引用System.Data.OracleClient.dll
,但我仍然收到此错误。
该错误是由using System.Data.OracleClient
我的命名空间声明中的行引起的。
尝试运行我的代码时,我收到以下错误:
CS0234:命名空间“System.Data”中不存在类型或命名空间名称“OracleClient”(您是否缺少程序集引用?)
我已包含对System.Data.dll
and的引用System.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
指令意味着您只需要 type OracleDataReader
。程序集和命名空间之间往往存在大量匹配,因为这使每个人的生活都更轻松,但有时程序集具有来自多个命名空间的类,并且命名空间被拆分为多个程序集。一个经典的例子是 mscorlib 有很多来自System
, System.Collections
,的类System.IO
等等,你真的不希望在没有的情况下构建一个 .NET 项目(包括一些 .NET 自己使用的项目),而 System.dll 有更多来自完全相同的命名空间,你可以在不使用的情况下获得(但你仍然会在 99% 的时间里)。
除非您正在编写一个绝对庞大的库,并且有数千个类覆盖重叠的用例,否则您自己的程序集应该使用单个命名空间 - 或者最多一个在该命名空间中包含其他命名空间的单个程序集,例如JaredksGreatCode
在JaredksGreatCode.UserInterface
其中包含 -每个 DLL。
以下对我有用:
Visual Studio --> WEBSITE --> 添加引用... --> 框架 --> 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
.