Asp.net 如何使usercontrol可用于多个项目?

Asp.net 如何使usercontrol可用于多个项目?,asp.net,user-controls,Asp.net,User Controls,我在ASP.NET网站中有一组用户控件,我想将这些控件共享给多个网站。但我们似乎无法使用ascx文件创建包含UserControls的类库。虽然MSDN建议构建一个Web控件,但我更愿意找到一种共享现有控件的方法,而不是销毁它们来创建新的Web控件 有没有办法创建用户控件库 谢谢这里有一种方法: 您不能将它们编译成项目本身。通过将文件链接到项目中,您可以获得与此类似的内容,因此文件有一个主版本,但每个项目也有自己的副本。您可以: 使用源代码管理共享功能拥有一个位置并将其共享到其他项目中 为控件

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

有没有办法创建用户控件库


谢谢

这里有一种方法:


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

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

您应该使用复合控件。下面是web用户控件和复合控件之间的比较:


我做过类似的事情,除了添加了一个步骤,即使用web部署向导将所有代码编译成DLL,消费者可以加载该DLL。同样的原理。我不确定在用户控件中使用“添加为链接”是否有效,但事实上确实有效@BornToCode和Chris,除了添加as链接,还需要其他步骤吗?Asp.net在运行时找不到该控件,并且该控件不在新项目的目录中。@Gilles-尝试在“解决方案资源管理器”中添加的链接上单击F4,并将“复制到输出目录”设置更改为“始终复制”。@BornToCode这不起作用,因为它没有复制到正确的位置。我最终使用了另一个带有参考和预构建步骤的解决方案。