在工作中,我们有大约30个遗留站点,它们来自一组通用代码,目前这些站点处于冷聚变状态。对于这个公共代码,我们有一个项目,然后在IIS中我们设置一个虚拟目录,将公共代码包含到每个站点中。这很有效,因为核心逻辑的更改可以在一个地方进行,并通过所有站点进行复制。由于我们所有的站点都托管在相同的服务器上,我们也可以只部署公共代码,并更新所有实时站点,我们不需要发布每个站点。
然而,我们正在将我们的站点和核心代码重新编写到c#和asp.net MVC 3中。它很顺利,除非我们更新核心代码,我们目前正在将dll复制到每个站点,重新编译,然后发布每个网站。
这很好,而我们只有几个网站使用核心代码重新构建,但是当我们所有30个网站都重新构建在.net中时,这将非常痛苦。
有没有人对如何轻松使用和处理公共代码有任何想法,而无需将dll复制到每个站点?
到目前为止,我们已经尝试过: - 使用dll的虚拟目录(不起作用,因为站点代码需要重新编译,并且IIS似乎不喜欢它在.net站点上) - 将我们的常见dll部署到GAC - 这是一个问题,因为第三方库(例如nHibernate)没有签名,因此也无法将它们添加到GAC。
由于
Saan
答案 0 :(得分:1)
最简单的方法是自动执行更新过程。 但是如果你想完全摆脱复制,你可以试试名为“codebase”的东西。 以下是“运行时如何查找程序集”的说明以及“通过代码库或探测查找程序集”的详细信息http://msdn.microsoft.com/en-us/library/15hyw9x3(v=vs.71).aspx
答案 1 :(得分:0)