I found it is very annoying to run the BizTalk deployment wizard to deploy or undeploy the assemblies during development phase. Especially when you have multiple assemblies to deal with. You can actually write a simple batch file to automate the deploy/undeploy process. BizTalk provides a BTSDeploy.exe in the installation directory that can take various arguments to perform these tasks easily. The following code (undeploy.bat) is a very rough sample for the undeployment. The deployment step is just the opposite. In case you don't know how to find out the public key token of your assembly, you could use these commands: sn -T assembly.dll and sn -t keyfile.snk.
@echo off
SETLOCAL
::
:: Set the deploy environmental variables for App
::
SET server=dbserver
SET db=BizTalkMgmtDb
SET btsdir="C:\Program Files\Microsoft BizTalk Server 2004"
SET outdir=..\App\bin\Development
SET log=.\undeployapp.log
::
:: The following section could be repeated if mutiple assemblies
:: to be undeployed...
::
SET name=App
SET version=2.0.0.0
SET pkt=29068414d03ece02
SET culture=neutral
echo Undeploy %name% %version% from GAC and %db% on %server% ...
::
:: Perform undeployment; use BTSDeploy.exe
::
%btsdir%\BTSDeploy
REMOVE SERVER=%server% DATABASE=%db%
NAME=%name% VERSION=%version% CULTURE=%culture%
PUBLICKEYTOKEN=%pkt% UNINSTALL=True LOG=%log%
pause