In a large VS 2008 solution we have different schema projects and mapping projects. The mapping projects reference the appropriate schema projects and this works fine overall.
However, recently I added a new schema project and it consistently gives the same problem. When I add a new schema to it, and I want to use that schema in a mapping project that already has a reference to the schema project, the map fails to validate with the message
Cannot load source/destination schema [...]. Either the file/type does not exist, or if a project dependency exists, the dependent project is not built.
Fair enough, I'll just re-build the schema project and this should solve the error. But that is not enough with this particular schema project. I have to remove and re-add the schema project reference to make this error go away. It's pretty annoying and it works for other projects without this extra step, so what can I do?
I don't know how often you rebuild your schemas project, but it may be handy to reference the schemas DLL on disk instead of the schemas project in your solution.
Keep in mind though, that a change in the schemas, will need you to rebuild the schemas project again and afterwards the mappings project to take the new version into account.
What you are experiencing is a will known issue with the BizTalk Server 2009 Project system.
That version had a number of frustrating designer issues. The later Service Packs alleviated many of them but not all.
The most common workaround for the problem you are facing is to flip the Copy Local property of the Reference.