命名空间在web.config中删除的页面不会被删除与主

问题描述:

我曾经在一个子目录命名空间在web.config中删除的页面不会被删除与主

<namespaces> 
    <remove namespace="App"/> 
    <add namespace="Tom"/> 
</namespaces> 

应用在父web.config文件导入的web.config中定义这一点,汤姆和应用有具有相同名称的类。

为了避免模糊类名导致的错误,我从使用Tom名称空间的子目录中删除了App名称空间。

但是,名称空间App仍然导入到Tom目录之外具有母版页的内容页上。这会导致上述错误。

这里是我的目录结构

-Root Directory 
--Default.master 
--web.config (App is added in web.config) 
--Tom Sub-diretory 
---web.config (App is removed in web.config) 
---Content page that uses Default.master (Here is the problem) 
---Page without master (Works OK) 

任何解决方案?

假设你在根web.config如下:

<namespaces> 
    <add namespace="App" /> 
    <add namespace="Tom" /> 
</namespaces> 

而在你的web.config分:

<namespaces> 
    <remove namespace="App" /> 
    <add namespace="Tom" /> 
</namespaces> 

将会有使用类.aspx网页没问题在子文件夹中,即使它们来自根文件夹中的母版页,但您将无法在母版页中使用它。在根主页面中,您需要完全限定类型:<%= App.DuplicateType %><%= Tom.DuplicateType %>

那么显式地使用名称空间前缀的用法呢?这应该始终有效。