【问题标题】:How to make usercontrol available to multiple projects?如何使用户控件可用于多个项目?
【发布时间】:2009-03-12 21:17:03
【问题描述】:

我在 ASP.NET 网站中有一组用户控件,我想将其共享给多个网站。但似乎我们无法使用 ascx 文件创建包含 UserControls 的类库。虽然 MSDN 建议构建一个 Web 控件,但我宁愿找到一种方法来共享现有控件,而不是销毁它们来创建新的 Web 控件。

有什么方法可以创建用户控件库吗?

谢谢

【问题讨论】:

    标签: asp.net user-controls


    【解决方案1】:

    【讨论】:

    • 我已经做了类似的事情,除了添加了使用 Web 部署向导将所有代码编译成可由消费者加载的 DLL 的步骤。不过原理相同。
    【解决方案2】:

    您不能将它们编译成项目本身。您可以通过将文件链接到项目中来获得接近此的内容,因此该文件有一个主版本,但每个项目也有自己的副本。您可以:

    • 使用源代码管理共享功能拥有一个位置并将其共享到其他项目中
    • 为控件创建一个项目,然后使用“添加现有项目”将它们链接到另一个项目,单击“添加”按钮旁边的小箭头,然后选择“添加为链接”。

    【讨论】:

    • 我不确定将“添加为链接”与用户控件一起使用是否有效,但它确实有效!
    • @BornToCode 和 Chris,除了添加为链接之外,您还需要其他步骤吗? Asp.net 在运行时找不到控件,并且它不在新项目的目录中。
    • @Gilles - 尝试在解决方案资源管理器中单击您添加的链接上的 F4,并将复制到输出目录设置更改为始终复制。
    • @BornToCode 这不起作用,因为它没有复制到正确的位置。我最终使用了另一种解决方案,其中包含参考和预构建步骤。
    【解决方案3】:

    您应该改用复合控件。下面是网络用户控件和复合控件的比较:

    http://msdn.microsoft.com/en-us/library/aa719735(VS.71).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-22
      • 2014-07-09
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多