.NET:将Web应用程序拆分为多个DLL?

时间:2010-05-05 07:33:05

标签: .net web-applications dll

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

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

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

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

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

提前致谢。

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

2 个答案:

答案 0 :(得分:2)

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

这对构建.NET应用程序的方式非常重要( - :您需要了解命名空间和使用/ import(取决于您选择的语言)。

不幸的是,我不记得使用Express进行操作的机制(如果有人可以根据需要进行编辑或评论)。

顺便说一下,你需要考虑如何将它集成到你的版本控制系统中 - 细节在某种程度上取决于你是引用单独构建的.dll还是包含项目。如果您没有适当的版本控制,请停止,先将其排序,然后返回并解决此问题。

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

答案 1 :(得分:1)

可以选择使用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版本。