Visual Basic problems with TFS, when referencing files outside of the project

I was asked recently to investigate problem when using VB6 and TFS Msscci Provider. We found out a limitation, that is not really surprising, but is still worth documenting.

The code base looks like this:

Source

                SharedCode

                                Class1.cls

                Project 1

                                Project1.vpb

                                Form1.frm

There are a few problems with TFS integration in this environment:

  1. If Source directory is not mapped, we will ask you to map only Source\Project1 (this is root of the project and we know only that, we are not aware of Class1).
  2. If SharedCode is not mapped we will fail to add any file except of Project1.vpb to source control
  3. Creating workspace mappings outside of VB (with Team Explorer or tf.exe) that would map whole Source directory will solve above problems.
  4. "Create project from Team Foundation" will never work seamlessly in this situation. Even if you do #3 and successfully add whole project to scc, and you have correct mappings in the workspace where you are doing "Create project ..." we will not download Class1. You need to download it later with tf.exe/Team Explorer. After that it should work fine.

Hope this will help you when dealing with more complex code base and a vb6+tfs mix!