页面Y.ascx无法使用用户控件X.ascx

时间:2012-04-18 14:32:38

标签: asp.net asp.net-webcontrol

我最近在我的网络应用程序中遇到以下错误。

  

“ControlName.ascx”页面无法使用该用户   控制'OtherControl.ascx',因为它已注册   web.config并与页面位于同一目录中。

虽然我能够通过移动控件并在页面中注册它来修复错误,但我很好奇为什么会引发错误。

这显然是设计为here所描述的设计(黄色块中为3/4)但我的问题是为什么?通过在Web.Config中注册控件并将其放在同一目录中,您可能会遇到什么问题?

1 个答案:

答案 0 :(得分:2)

也许这是动态编译的问题。 默认情况下,web.config中“compilation”元素的“batch”属性为true。像这样:

<compilation defaultLanguage="c#" debug="false" batch="true" targetFramework="4.0" />

对于batch =“true”,只要必须在目录中编译控件,服务器就会在其目录中编译所有控件(所有内容?)。

我会说web.config声明的控件的编译方式与其他控件的编译方式不同(在另一个dll中,另一个目录?)因此,混合web.config声明控件和同一目录中的其他控件,一些引用其他控件会导致重复的编译和DLL冲突。