BizTalk code deployment error
As people start to write code for BizTalk 2006, it is also expected that people will reuse their existing code developed for BizTalk 2004 and use the Visual Studio 2005's upgrade feature to upgrade the code. Here I am not discussing about the upgrade as such, but more from the deployment after the upgrade.
When you build and deploy a BizTalk 2004 code upgraded to BizTalk 2006, you might get an error as - "error DEPLOY: The database or the database version is incompatible with the installed version of this product."
This happens since the deployment database as configured for your BizTalk 2004 isn't going to work for BizTalk 2006 (unless ofcourse you have done an in-place upgrade for your server environment also) since the schema has been changed a bit. The database configuration is part of the .proj.user file for the BizTalk project and though you can modify this property via Project properties wizard, you can as well delete this .proj.user file before you open the solution in VS 2005 for deployment.
The .proj.user file is recreated when you open a project in VS and in case of BizTalk, it will automatically pick up the values for the development and deployment server from BizTalk's registry configuration.
Another error that you might get is - "Deployment could not be started. One or more deployment properties are not configured." and resolution is the same. Delete the .proj.user file.
In general it is a good practice to not to copy .suo and .user files when copying solutions across machines. Even when downloading code, always delete the .suo and .user files before use since these are user specific settings and there is usually no point of using the settings as configured on someone else's machine. The best practice is enfored by configuration control systems and when you check in a VS solution in VSS, it will not check in the .suo and .user files.
The good part is that the new Application property introduced in BizTalk 2006 is actually part of .proj file and hence deleting the .proj.user file won't delete this setting. So you can keep using the same application name, but configure to work with your own databases.