【问题标题】:Custom control in a .net web application project.net Web 应用程序项目中的自定义控件
【发布时间】:2010-12-04 19:08:45
【问题描述】:

我有一些作为服务器控件项目创建的自定义控件。我要进行一些更改,所以我只是将这些类添加到现有的 Web 应用程序项目中,这样我就可以将东西放在一个地方。这个 web 应用项目被编译成一个 dll,用于多个 web 项目。

当我构建 web 应用项目并将 dll 放在不同网站的 bin 中时,当我去使用控件时,我收到以下错误:

未知的服务器标签“CustomControls:RadioButtonListForGrid”

如果我将自定义控件类添加到我网站的 app_code 文件夹中,它可以正常工作。我使用对象浏览器并确认这些类在 dll 中。

我在这里遗漏了什么明显的东西吗?我是否必须将这些保留为服务器控制项目并使用 ILmerge 组合 dll?

编辑

原来我需要添加程序集名称。事实证明,该程序集并没有像我想象的那样命名。我想我应该检查一下。哎呀。

【问题讨论】:

  • 那么程序集名称是什么?命名模式是什么?
  • 在下面看到我的评论,关于接受的答案。

标签: asp.net custom-controls


【解决方案1】:

我可以确认,在 Register 指令中添加程序集名称有效!所以即使是同一个程序集也是必须的。

【讨论】:

    【解决方案2】:

    你是否在 web.config 中添加了标签前缀?

    <pages>
      <controls>
        <add tagPrefix="CustomControls" namespace="MyApp.CustomControls" ...
    

    【讨论】:

    • 是的。也在页面级别尝试过。相同的 web.config 设置适用于 app_code 文件夹中的类,但未在 dll 中编译。
    • @Robert Harvey - 在所有排列中,我已经尝试过使用和不使用程序集
    • 这很奇怪。这几乎听起来像是一个版本控制问题。我不认为重新启动 IIS 服务器是一种选择。
    • 好吧,原来我是个白痴。 Web 应用项目的程序集名称与 . 的公司部分不同。无论出于何种原因,我确实需要程序集名称,当然知道您的程序集名称是什么很重要。我会标记你为你的麻烦正确!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2010-10-30
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多