代码之家  ›  专栏  ›  技术社区  ›  KevDog

在web.config中注册用户控件会显示错误,但控件仍然有效。

  •  0
  • KevDog  · 技术社区  · 17 年前

    整个上午都在烦我,我甚至都不知道错误在哪里。

    在我正在开发的当前网站中(它不是Web应用程序,如果它有区别,则声明如下用户控件:

    <controls>
            <add tagPrefix="uc1" tagName="TransitLinkAdmin" src="~\controls\TransitLinkAdmin.ascx"/>
            <add tagPrefix="uc1" tagName="TransitLinkList" src="~\controls\TransitLinkList.ascx"/>
            <add tagPrefix="uc1" tagName="WelcomeMessageAdmin" src="~\controls\WelcomeMessageAdmin.ascx"/>
            <add tagPrefix="uc1" tagName="WelcomeMessageDisplay" src="~\controls\WelcomeMessageDisplay.ascx"/>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </controls>
    

    到目前为止还不错,对吧?

    但是当我试图将这些控件中的一个添加到页面时,会收到一个错误,告诉我找不到该控件。为什么我运行页面时可以使用控件?

    设计者告诉我它找不到用户控制文件,并且它正在使用web.config文件中的路径,所以它必须以某种方式查看它。

    如果我直接在页面中注册该控件,则不会出现问题。

    我的假设(我们现在是如何工作的)是,整个站点存在一些编译错误,阻止了IntelliSense的工作。

    提前谢谢大家。

    3 回复  |  直到 17 年前
        1
  •  1
  •   Chris Shaffer    17 年前

    只是一个完整的猜测,但也许是因为你使用的是反斜杠而不是正斜杠?尝试:

        <add tagPrefix="uc1" tagName="TransitLinkAdmin" src="~/controls/TransitLinkAdmin.ascx"/>
        <add tagPrefix="uc1" tagName="TransitLinkList" src="~/controls/TransitLinkList.ascx"/>
        <add tagPrefix="uc1" tagName="WelcomeMessageAdmin" src="~/controls/WelcomeMessageAdmin.ascx"/>
        <add tagPrefix="uc1" tagName="WelcomeMessageDisplay" src="~/controls/WelcomeMessageDisplay.ascx"/>
    
        2
  •  1
  •   Orentet    17 年前

    你在用扩音器吗? 我不确定是什么版本,但在这个工件发生的过程中的某个地方。 尝试更新到最新版本。 顺便说一句,他们有一个早期的访问程序,你可以下载版本(相当好的质量),并更新最新的功能和修复。 link to early access program

        3
  •  0
  •   Miguel bmargulies    13 年前
    1. 关闭Visual Studio
    2. 移动到位置:

      在Windows 7中 :

      C:\Users\Pavel\AppData\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas

      在Windows XP中 :

      C:\Documents and Settings[您的用户名]\Application Data\Microsoft\VisualStudio\10.0\ReflectedSchemas in Windows XP

    3. 删除该文件夹位置中的所有文件。请注意,删除此位置的文件是完全安全的。

    4. 然后重新打开Visual Studio。

    这应该能解决你的问题。

    推荐文章