I have a directory of class files that will be used by multiple projects and solutions. When I add a file from that directory to one of my projects Visual Studio copies it into the project directory. This rather defeats the purpose of having a common repository, since any changes I make don't get reflected back to other projects.

Is there a reason for this behavior? I've been doing this with C++ files for years and it's worked for me.