如何从 Visual Studio 重新部署 BizTalk 程序集
在开发程序集的过程中,你通常需要重复地部署、测试、修改以及重新部署该程序集。 在以前版本的 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 解决方案文件的完整路径和名称。