只需将必要的 dll 文件复制到服务器而不是安装依赖项就可以了吗?

只需将必要的 dll 文件复制到服务器而不是安装依赖项就可以了吗?

我在服务器 (win2008/iis7.5) 上部署了 ASP NET MVC 3 应用程序。不知何故,我决定不安装 MVC 3 包和 devexpress(应用程序必需)。相反,我刚刚将 mvc 和 devexpress 的 dll 从我的开发人员机器复制到已部署应用程序的 bin 文件夹中。一切正常。虽然将来维护可能会出现一些复杂情况,但我想知道这种方法是否可接受,并且它是否会影响性能?

答案1

抱歉,我不同意我之前发帖人的观点。Web 应用程序需要能够安装在各种环境中,这可以是您自己的服务器,也可以是网络托管商。

例如,在 Webhoster 上,您无权正确“安装”这些工具,因此将这些程序集部署到 bin 文件夹中是完全可以的。

请在此处查找有关 MVC3 和 DevExpress 的一些具体信息:

来自 SO 的 MVC 部署
从 DX 进行 DevExpress 部署

至于 DevExpress,它甚至违反了他们的 EULA:

当您部署使用 DevExpress 提供的 Web 控件的 Web 项目时,您应该将实现所用功能的相应程序集文件复制到目标计算机(服务器)上。请注意,您不能将我们的安装用于此目的,因为它包含根据我们的 EULA 条款无法分发的设计库。因此,您需要手动将必要的程序集文件部署到目标服务器上。

答案2

正确安装!

正是因为人们做这样的事情,我才有几台老旧的服务器,它们无法重建,无法迁移到另一台服务器,我只能祈祷它永远不要坏掉。如果你正确安装它,我可以在添加/删除程序中查看并看到“哦,它需要安装 X 和 Y”。如果你随意复制 DLL 文件,我就无法做到这一点。

它还会破坏安全更新,因为 Windows 不知道安装了什么。

基本上,这样做会让服务器的维护变成一场噩梦。使用正确的安装文件,并为您的程序创建安装程序。

答案3

作为必须处理维护和生命周期问题的系统管理员,我会说不,这是不可接受的,因为正如您所说,可能会出现复杂情况......

Windows 开发工具有打包工具,不是吗?我不明白你为什么不使用它们。

至于性能,您必须自己测试。

相关内容