In the process of developing an assembly, you often need to deploy, test, modify, and redeploy it repeatedly. In previous versions of BizTalk Server, if you wanted to redeploy an assembly without changing the version number, you first needed to manually stop, unenlist, and unbind artifacts contained in the assembly in BizTalk Server and then remove the assembly from the BizTalk Management (configuration) database. In addition, after redeploying the assembly, you needed to bind, enlist, and start its artifacts in BizTalk Server.
With BizTalk Server 2006, however, when you enable the Redeploy option in Visual Studio 2005, BizTalk Server automatically takes all of the steps to redeploy the assembly for you. Although you can redeploy an assembly from the project level (such as by right-clicking the project in Solution Explorer and clicking Deploy) to redeploy an individual assembly, we strongly recommend that you always redeploy assemblies from the solution level (such as by right-clicking the solution and clicking Deploy). This redeploys all of the assemblies in the solution at once and handles all of the steps involved when there are dependencies, as described later.
Although there are rare situations in which you might need to redeploy at the project level, as a rule you should always redeploy at the solution level.
When redeploying an assembly, bear in mind the following important points:
- You must install the new assembly in the GAC. When you redeploy an assembly, you must always install the new version of the assembly in the GAC using the following command. You can do this after you redeploy it.
gacutil.exe /if "<path to the assembly .dll file>"This installs the assembly to the GAC, overwriting any existing assembly that has the same assembly name.
- You should always redeploy at the solution level when there are dependencies. If you have multiple assemblies in a solution, and one or more assemblies in the solution has a dependency on the assembly that you want to redeploy, you should redeploy your assemblies at the solution level.
- You may need to manually redeploy dependent assemblies. BizTalk Server always undeploys dependent assemblies, but in the following cases, you must take the additional steps to deploy, bind, and enlist the artifacts in each dependent assembly after redeploying the assembly on which the assembly depends:
- If you redeploy an assembly at the project level and another assembly in the same solution depends on it.
- If you redeploy an assembly at the solution level, but a dependent assembly exists in a different solution.
You must restart host instances. When you redeploy an assembly that contains an orchestration without changing the assembly version number, the existing assembly is overwritten in the BizTalk Management database. Before the change will take effect, however, you must restart each host instance of the host to which the orchestration is bound. You can specify the option that all host instances on the local computer restart automatically when you redeploy an assembly
To redeploy Biztalk Orchestration from Visual Studio 2005:
- 1. In Visual Studio Solution Explorer right-click a project for which you want to configure properties, and then click Properties.
- 2. In the left pane, expand Configuration Properties, and then click Deployment.
- 3. Set the Redeploy property to
- 4. In Visual Studio 2005 Solution Explorer, right-click a BizTalk solution, and then click Deploy.
- The assemblies in the solution are deployed into the specified BizTalk application. The status of the build and deployment process displays in the lower left corner of the page.