Директива 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% времени).
Если вы пишете абсолютно массивную библиотеку, но с тысячами классов, охватывающих перекрывающиеся прецеденты, ваши собственные сборки должны работать с одним пространством имен или, самое большее, с одним другим пространством имен внутри этого объекта, например JaredksGreatCode
с JaredksGreatCode.UserInterface
внутри него - за одну DLL.
Хорошо. Теперь мой ответ не соответствует тому, что вы редактировали, и просто рассказывал вам то, что вы уже знаете.Сначала я рассмотрю свойства ссылок и удостоверяюсь, что они указали на правильный файл и на соответствующую версию .NET, если в системе более одного времени выполнения. –