如何使用户控件可用于多个项目?

3
我有一组在ASP.NET网站上的UserControls,我希望能够分享到多个网站。但是似乎我们无法创建一个包含ascx文件中的UserControls的类库。虽然MSDN建议构建Web Control,但我更愿意找到一种方法来共享现有的控件,而不是销毁它们以创建新的Web Control。
有没有创建UserControls库的方法?
谢谢。
3个回答

8

我做过类似的事情,只不过增加了使用Web部署向导将所有代码编译成DLL的步骤,以便消费者加载。原理相同。 - MarcE

2

你不能将它们编译为一个项目。你可以通过将这些文件链接到项目中来实现类似的效果,这样就有一个主版本的文件,但每个项目也有自己的副本。你可以选择:

  • 使用源代码控制共享功能,在一个位置共享文件并将其分享到其他项目中
  • 创建一个控件项目,然后使用“添加现有项”、“添加为链接项”选项将其链接到其他项目中。

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

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接