Confusão com espaço para nome raiz no projeto da web Asp.net

Eu tenho uma solução VS2008 com 2 projetos, WebUI e Domínio; O WebUI faz referência ao domínio

O espaço para nome raiz no projeto WebUI é: MyCompany.MyProjectName.WebUI
O espaço para nome raiz no projeto domínio está em branco. (Os espaços para nome são declarados manualmente para todas as classes)

Então, tudo funcionou bem, até que tentei fazer referência a uma classe no Domain por um caminho totalmente qualificado: MyCompany.MyProjectName.Domain.EntityClasses.SomeClassName

O VS não conseguiu encontrar a classe. No entanto, se eu fizer na parte superior do arquivo de código: Imports MyCompany.MyProjectName.Domain.EntityClasses

.... então ele pode ver. (Assim como SomeClassname, não o nome completo)

Isto faz algum sentido?

Então, limpei meu espaço de nomes raiz WebUI e pronto, a declaração totalmente qualificada funciona. No entanto, fazer isso parecia invalidar o registro de todos os meus controles de usuário em minhas páginas. A única coisa que parecia resolver isso estava no código por trás de cada controle de usuário, adicione manualmente um namespace MyCompany.MyProjectName.WebUI ... o que talvez faça sentido, pois talvez os namespaces das páginas de alguma forma ainda tenham retido o valor do namespace raiz. Mas, se eu fosse criar uma página aspx totalmente nova e soltar um controle de usuário (isso é antes de adicionar manualmente o espaço para nome), mesmo essa página não poderia registrá-la corretamente. No entanto, o controle uwer foi renderizado corretamente no modo de exibição de design ... então a UI do VS parecia capaz de resolvê-lo adequadamente, mas o compilador aparentemente não pode.

Portanto, pelo que sei, posso pelo menos fazer as coisas funcionarem, envolvendo manualmente os controles do usuário no espaço para nome apropriado. Por que isso é necessário para páginas aspx, sem espaço para nome especificado, para ver os controles do usuário, parece não fazer sentido.

Existe algum princípio fundamental que estou entendendo mal?

questionAnswers(2)

yourAnswerToTheQuestion