У меня есть решение, которое содержит много проектов, использующих одно и то же корневое пространство имен. Никакие файлы кода явно не называют пространство имен. Допустим, корневое пространство имен равно 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
Я не ссылаюсь на это нигде в кодовой базе. В настоящее время я просто ссылаюсь на него из проекта модульного тестирования. Поэтому я не понимаю, почему при добавлении этого пространства имен возникает проблема.