【问题标题】:How do I package ASP.Net User Controls (ascx) into a DLL for sharing across projects?如何将 ASP.Net 用户控件 (ascx) 打包到 DLL 中以便跨项目共享?
【发布时间】:2014-10-31 21:36:10
【问题描述】:

我正在开发一个直接的 ASP.Net 应用程序。 (没有额外的框架)。

我有几个用户控件(不是自定义控件),我希望能够将它们打包到一个 DLL 中,以便在其他几个应用程序中重用/重新分发。理想情况下,我们希望将所有内容(.ascx 和源文件)都包含在一个 DLL 中,该 DLL 可以添加到目标项目的引用中。

将用户控件嵌入 .aspx 页面时,我们希望能够在 Visual Studio 设计视图中看到这些控件。

我一直在环顾四周,看到了几种可能的解决方案。 任何人都可以指出一个清晰的教程/示例来帮助我完成这个过程吗?

【问题讨论】:

  • 一般来说,用户控件不是这样工作的。 .ascx 文件必须在运行时可用。如果要在 DLL 中分发,则应改为创建自定义控件。或者,您可以使用源代码控制系统跨项目“共享”文件。

标签: asp.net user-controls ascx


【解决方案1】:

约翰,据我所知,您的要求是不可能的,至少在 .net 框架中不能开箱即用。当您在 ASP .NET 应用程序中构建 UserControl 并编译解决方案时,您可能已经意识到,UserControl 将包含在它所属项目的 dll 中;它不会有自己的单独 dll。由于 UserControl 没有自己的 dll,因此您将无法使其在设计视图/工具箱中可用。

根据您的要求,您可能需要考虑创建 ServerControls。服务器控件比 UserControl 更难创建,如果我没记错的话,您必须对其进行完全编码,不会有可用的设计器,但是当您完成并编译时,ServerControl 将拥有自己的 dll,可以在 Toolbox 下的 CustomControls 中使用.

如果您想了解 ServerControl,我强烈建议您观看来自 KudVenkat 的视频。他的解释和演示是首屈一指的。 Link to the tutorial

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2014-06-15
    • 2012-05-26
    相关资源
    最近更新 更多