【问题标题】:.NET: Split web application into multiple DLLs?.NET:将 Web 应用程序拆分为多个 DLL?
【发布时间】:2010-05-05 07:33:05
【问题描述】:

是否可以将一些代码隐藏 (.cs) 文件(例如,特定文件夹下的所有 .cs 文件)编译到一个 DLL 中,而将其余的编译到另一个 DLL 中?

我们有一些通用代码和页面(aspx + cs 文件),我们希望在许多网站上使用它们。我们希望将其编译成 DLL(例如 Common.dll)。

其余文件将是特定于网站的,对每个网站都是唯一的,并且应该编译成另一个 DLL(例如 Website3.dll)

这样,如果我们对公共代码隐藏进行更改,我们就可以将 Common.dll 发布到我们所有的网站上。

使用 VS Web Developer Express 2008 可以实现吗?

提前致谢。

编辑:我们已经在使用类库,但不用于页面 (aspx+cs)

【问题讨论】:

    标签: .net web-applications dll


    【解决方案1】:

    简单地说,您需要将公共代码放在一个单独的项目(类库)中,然后将对该程序集的引用添加到您的每个网站。您可以直接引用程序集,也可以(我认为在 Web Express 中)将项目添加到您的解决方案中并一起构建站点和公共代码。我更喜欢后者,但两种系统都有很好的论据。

    这对于构建 .NET 应用程序的方式是相当基础的(-:您将需要了解命名空间和使用/导入(取决于您选择的语言)。

    不幸的是,我不记得使用 Express 的机制(如果有人这样做,他们可以酌情编辑或评论)。

    顺便说一句,您需要考虑如何将其集成到您的版本控制系统中 - 细节在一定程度上取决于您是引用单独构建的 .dll 还是包含该项目。如果你没有适当的版本控制,那就停下来,先解决这个问题,然后再回来解决这个问题。

    另外,我认为 - 尽管我很高兴得到纠正,但代码隐藏是指与 Web 表单直接关联的代码,而不是与这些页面分开且不同的类。

    【讨论】:

    • 谢谢墨菲。对不起,我忘了提到我们已经有了一个类库。但是也有公共页面(aspx+cs),而不仅仅是代码。我不认为您可以将这些 aspx 页面及其代码放在类库中?
    【解决方案2】:

    可以选择使用 Web 部署项目(http://www.microsoft.com/download/en/details.aspx?id=25163 用于 VS2008,http://www.microsoft.com/download/en/details.aspx?id=24509 用于 VS2010)。在选项中,您可以指定 Web 项目的输出是单个 dll(Web 应用程序的默认设置)还是每个文件夹的程序集。

    它适合仅修改一个页面/控件并仅部署受此更改影响的程序集的需要。

    但 Web 部署项目不支持 VS Express 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 2015-07-24
      • 2021-04-19
      相关资源
      最近更新 更多