在开发程序集的过程中,通常需要反复部署、测试、修改和重新部署它。 在早期版本的 BizTalk Server 中,如果想要重新部署程序集而不更改版本号,则首先需要手动停止、取消登记和取消绑定 BizTalk Server 中包含在程序集中的项目,然后从 BizTalk 管理(配置)数据库中删除该程序集。 此外,重新部署程序集后,需要在 BizTalk Server 中绑定、登记和启动其项目。
但是,使用 BizTalk Server 在 Visual Studio 中启用“重新部署”选项时,BizTalk Server 会自动执行所有步骤来为你重新部署程序集。 尽管可以从项目级别重新部署程序集(例如,右键单击解决方案资源管理器中的项目并单击“部署”)重新部署单个程序集,但我们强烈建议始终从解决方案级别重新部署程序集(例如右键单击解决方案并单击部署)。 这会一次性重新部署解决方案中的所有程序集,并在存在依赖项时处理所涉及的所有步骤,如下所述。
重要
尽管在极少数情况下可能需要在项目级别重新部署,但作为规则,应始终在解决方案级别重新部署。
重新部署程序集时,请记住以下要点:
必须在 GAC 中安装新程序集。 重新部署程序集时,必须始终在 GAC 中安装新版本的程序集,如 如何在 GAC 中安装程序集中所述。 可以在重新部署后执行这一操作。
当存在依赖项时,应始终在解决方案级别重新部署。 如果解决方案中有多个程序集,并且解决方案中的一个或多个程序集依赖于要重新部署的程序集,则应在解决方案级别重新部署程序集。 这是因为在项目级别重新部署程序集时,BizTalk Server 将停止、取消注册、解除绑定并删除与此程序集有依赖关系的所有程序集的工件,不论是依赖此程序集还是被此程序集依赖。 BizTalk Server 不会采取其他步骤来部署、绑定、登记和启动项目。 但是,在重新部署整个解决方案时,BizTalk Server 会根据其依赖关系自动执行卸载和重新部署解决方案中的所有组件所需的步骤。
可能需要手动重新部署依赖程序集。 BizTalk Server 始终会卸载依赖的程序集,但在以下情况下,您必须在重新部署被依赖的程序集后,执行其他步骤来部署、绑定和登记每个依赖程序集中的项目:
如果在项目层级重新部署一个程序集,并且同一解决方案中的另一个程序集依赖于它。
如果在解决方案级别重新部署程序集,但依赖的程序集存在于其他解决方案中。
例如,如果要仅重新部署下图中显示的程序集 3,则在重新部署后,需要在程序集 2 中部署、绑定和登记项目,然后在程序集 1 中部署、绑定和登记项目。
另一种方法是避免不必要的部署未更改的核心程序集。 例如,在上图中,如果有其他程序集依赖于程序集 2 和程序集 3,并且这些程序集都没有更新。 在配置管理器中取消选中程序集 2 和程序集 3 项目的 “部署” 选项。 这样,依赖它们的外部程序集将不会取消部署,需要重新部署。 有关详细信息,请参阅 如何在 Visual Studio 中设置部署属性。
必须重启主机实例。 在不更改程序集版本号的情况下重新部署包含业务流程的程序集时,BizTalk 管理数据库中的现有程序集将被覆盖。 但在更改生效之前,您必须重启绑定了业务流程的主机的每个主机实例。 可以指定重新部署程序集时本地计算机上所有主机实例自动重启的选项。 有关说明,请参阅 如何在 Visual Studio 中设置部署属性。 还可以手动停止和启动每个主机实例,如 如何停止主机实例 以及如何 启动主机实例中所述。
重要
由于“重新部署”选项会绕过版本控制,因此建议仅在开发过程中使用它。
先决条件
若要执行本主题中的过程,必须使用 BizTalk Server 管理员组成员的帐户登录。 此外,帐户必须具有对本地文件系统和全局程序集缓存(GAC)的读/写权限。 本地计算机上的管理员帐户具有这些权限。
重新部署 BizTalk 解决方案
使用 Visual Studio 解决方案资源管理器
确保解决方案中每个项目的部署属性中都启用了“重新部署”选项,如 如何在 Visual Studio 中设置部署属性中所述。 此选项默认处于启用状态。
在 Visual Studio 解决方案资源管理器中,右键单击 BizTalk 解决方案,然后单击“ 部署”。
解决方案中的程序集将部署到指定的 BizTalk 应用程序中。 生成和部署过程的状态显示在页面左下角。
使用 Visual Studio 命令提示符
确保解决方案中每个项目的部署属性中都启用了“重新部署”选项,如 如何在 Visual Studio 中设置部署属性中所述。 此选项默认处于启用状态。
启动 Visual Studio 命令提示符。
键入以下命令,替换相应的值,如下表所述:
devenv /deploySolnConfigNameSolutionName
示例:
devenv /deploy Release “C:\Documents and Settings\someuser\My Documents\Visual Studio\Projects\MySolution\MySolution.sln”
参数 价值 /部署 在生成或重新生成后部署解决方案。 SolnConfigName 将用于构建名为 SolutionName 的解决方案的配置名称。 SolutionName 解决方案文件的完整路径和名称。