asp.net的多个Web部署

时间:2012-08-08 22:49:23

标签: asp.net

我有一个安装在几个不同客户端服务器上的应用程序。它们每个都有不同的web.config文件和不同的虚拟文件夹。目前我正在编译,手动复制,设置IIS,更改web.config并为每次安装添加虚拟文件夹,并在更新时再次添加。

我根本不知道如何使用Web Deploy或Deployment Package来部署,这将让我创建不同的配置文件或如何管理虚拟文件夹(我想我只是部署空文件夹,仍然需要做这个部分手动)。我可以从一开始就处理设置IIS和虚拟文件夹,但我希望每个客户端能够下载新版本并在没有我输入的情况下安装它们(因为有些客户端对远程访问很有趣)。

2 个答案:

答案 0 :(得分:0)

您可以为每个环境设置构建配置。通常,您可以开箱即用Debug和Release。我喜欢用开发,暂存和生产配置替换它们,这允许每个环境使用不同的web.config。

当然,在发布时,您仍然需要确保选择正确的配置。

答案 1 :(得分:0)

我不喜欢Web Deploy和其他方案,因为与桌面服务器不同,Web服务器往往都有独特的配置。

就我而言,我们所有的Web应用程序都使用自定义编写的VBScripts进行部署(比批处理文件更令人愉快,而无需重新学习PowerShell)。 VBScript(带有默认的COM对象库)为编写部署脚本提供了一个引人注目的平台。如果您无法忍受语法,则可以使用相同的工具使用JScript。额外奖励:Visual Studio仍然提供Windows脚本IntelliSense,尽管它不是广告功能。)

我最近的部署脚本很简单:它是一个VBScript(由VS的Post-build命令行调用),它使用7-Zip来打包Web应用程序的文件,然后生成一个ftp.exe批处理文件(然后运行ftp.exe本身)将文件上传到服务器,它还会生成一个上传名为“Unpack.cmd”的文件,该文件调用7-Zip将文件解压缩到正确的位置。唯一的手动步骤是在服务器上执行Unpack.cmd,但这可以通过Remote PowerShell完成。例如。

为什么需要单独从应用程序自定义IIS配置?你不能把web.config文件放在<system.webServer>下吗?