Директива 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.
person
Jon Hanna
schedule
31.08.2012