Нет, в этом нет ничего плохого.
Учтите, я использую несколько пользовательских библиотек классов, и почти каждая из них имеет следующую структуру пространства имен:
.Web.UI.Controls.
Что похоже (и рекомендовано MS как лучшая практика) на System.Web.UI.Controls ..
Дело в том, что компилятор будет знать, что правильное пространство имен находится в таком количестве DLL, которое вы назначаете (он будет искать его в обеих DLL). Единственная причина, по которой я не решусь сделать их такими же, заключается в возможной путанице DEVELOPER . Другая причина в том, что в каждом пространстве имен есть класс с одинаковым именем, и это будет вызывать ошибку компилятора, пока она не будет решена с помощью полностью именованного объявления пространства имен.
Что является одной из причин, по которым вы можете использовать пространства имен Alias. Псевдоним вылечит обе концепции. Структура для этого выглядит следующим образом:
using Foo.App.Foo;
using FooLib = FooLib.App.Foo;
Итак, если у вас есть класс Bar в Foo.App.Foo и FooLib.App.Foo, для доступа к версии приложения вы должны использовать:
bar x = new bar();
Для версии библиотеки вы должны использовать:
FooLib.bar x = new FooLib.bar();