У меня есть решение, которое содержит множество проектов, использующих одно и то же корневое пространство имен. Никакие файлы кода явно не называют пространство имен. Итак, допустим, корневое пространство имен - ExampleRootNamespace
.
Теперь возникает проблема, когда я хочу добавить явно названное пространство имен к одному из файлов кода, над которым я работаю. Я хочу иметь возможность изолировать этот код от остальной части сборки, чтобы иметь возможность запускать FxCop против него. Поэтому я добавляю что-то вроде Namespace Interfaces.CSV
в файл кода.
Это приводит к тому, что любой код, который ссылается на эту сборку, должен сказать Imports ExampleRootNamespace.Interfaces.CSV
. Все идет нормально. Я даже могу запустить FxCop против сборки. Проблема теперь в том, что в других сборках я больше не могу говорить что-то вроде:
Public class frmInputBoolean Inherits
ExampleRootNameSpace.frmFormTemplate
Visual Studio теперь просит меня переименовать пространство имен в:
Public class frmInputBoolean Inherits
Global.ExampleRootNameSpace.frmFormTemplate
С этим связаны сотни ошибок. Итак, у меня следующие вопросы:
1) Почему в основном именование пространства имен под корнем в первый раз вызывает проблемы с программой?
2) Есть ли какие-либо обходные пути для этой проблемы без переименования?
Я также хочу чтобы добавить это в отношении ExampleRootNamespace.Interfaces.CSV
, я не упоминаю об этом нигде в кодовой базе. В настоящее время я просто ссылаюсь на него из проекта модульного тестирования. Так что я не Я не понимаю, почему добавление этого пространства имен вызывает проблему.