生成 Web 用户控件的 dll

发布于 2024-10-06 12:53:05 字数 75 浏览 0 评论 0原文

如何制作我的 Web 应用程序用户控件的 dll? 我有 usercontrol222.ascx,但我想用这个用户控件制作一个 dll。

How can I make a dll of my web application usercontrol?
I have usercontrol222.ascx, but I want to make a dll out of this usercontrol.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暮倦 2024-10-13 12:53:05

创建一个仅包含用户控件(“usercontrol222.ascx”)的项目,并从新项目的部署中获取该控件的 dll。以下是此方法的来源以及更完整的说明: Turning an .ascx User Control into可再发行的自定义控件(下面是值得注意的摘录,请参阅完整的链接)。

第 3 步:使用发布命令预编译站点

下一步是使用新的
发布命令来预编译您的
站点并将您的用户控件变成
潜在的自定义控件。你会发现
构建/发布 Web 下的命令
地点。在“发布”对话框中,执行以下操作
以下:

  • 选择目标位置。这是您的硬盘上的位置
    站点将被预编译为。
  • 取消选择“允许此预编译站点可更新”。在可更新的
    模式,只有文件后面的代码(如果
    任何)都会被编译,并且 ascx
    将不予处理。这是
    在某些场景下有用,但不是
    你想要什么,因为你想要
    生成的 DLL 是独立的。
  • 选择“使用固定命名和单页程序集”。这将保证
    您的用户控件将是
    编译成一个程序集
    将有一个基于 ascx 的名称
    文件。如果你不勾选这个选项,
    您的用户控件可以被编译
    与其他页面和用户一起
    控件(如果有的话),以及
    程序集将收到一个随机名称
    那样工作会更困难
    与。

第 4 步:查找生成的自定义控件

现在,使用 Windows
资源管理器或命令行窗口,
让我们进入你的目录
指定为目标,以便我们可以看到
生成了什么。你会看到一个
那里的文件数量,但让我们重点关注
与我们相关的
将用户控制权转变为
自定义控件。

在“bin”目录中,你会发现
一个名为类似的文件
App_Web_MyTestUC.ascx.cdcab7d2.dll。
你基本上完成了,因为这个文件
您的用户控件是否已转换为
自定义控件!唯一的一件事
剩下要做的就是实际使用
它。

Create a project containing only your user control ("usercontrol222.ascx") and grab the control's dll from the deployment of your new project. Here's the source of this method with a more complete explanation: Turning an .ascx User Control into a Redistributable Custom Control (Notable excerpts below, see the link for the full run-down).

Step 3: Use the Publish Command to Precompile the Site

The next step is to use the new
Publish command to precompile your
site and turn your user control into a
potential custom control. You'll find
the command under Build / Publish Web
Site. In the Publish dialog, do the
following:

  • Pick a Target Location. This is the location on your hard drive that your
    site will be precompiled to.
  • Deselect "Allow this precompiled site to be updatable". In updatable
    mode, only the code behind file (if
    any) would get compiled, and the ascx
    would be left unprocessed. This is
    useful in some scenarios, but is not
    what you want here since you want the
    resulting DLL to be self-contained.
  • Select "Use fixed naming and single page assemblies". This will guarantee
    that your user control will be
    compiled into a single assembly that
    will have a name based on the ascx
    file. If you don't check this option,
    your user control could be compiled
    together with other pages and user
    controls (if you had some), and the
    assembly would receive a random name
    that would be more difficult to work
    with.

Step 4: Finding the Resulting Custom Control

Now, using the Windows
Explorer or a command-line window,
let's go to the directory you
specified as the target so we can see
what was generated. You will see a
number of files there, but let's focus
on the one that is relevant to our
goal of turning the user control into
a custom control.

In the "bin" directory, you will find
a file named something like
App_Web_MyTestUC.ascx.cdcab7d2.dll.
You are basically done, as this file
is your user control transformed into
a custom control! The only thing
that's left to do is to actually use
it.

月亮邮递员 2024-10-13 12:53:05

你不能。用户控件适用于您不想创建自定义控件的简化场景。它们的缺点是 .ascx 文件和任何其他工件(图像、样式等)必须包含在使用用户控件的每个网站中。

如果您需要在项目之间完全重用,那么您需要创建自定义控件。如果您直接将用户控件转换为自定义控件,那实际上并不难。

You cannot. User controls are for the simplified scenario where you do not want to create a custom control. They have the disadvantage that the .ascx file and any other artifacts (images, styles, etc) must be included in each web site that uses the user control.

If you need complete reuse between projects, then you need to create a custom control. That's not actually that hard, if you directly translate the user control into a custom control.

寄居人 2024-10-13 12:53:05

您可能想考虑开发自己的服务器控件。请参阅以下类似讨论:ASP.NET Web 用户控件库

You may want to look at developing your own server controls. See the following similar discussion: ASP.NET Web User Control Library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文