When you are working with a team of developers (whether two or ten),
who are collaborating on a project in Visual Studio.Net, there
certainly is the chance that you will need to add a new file to the
solution. Of course, to do this you have to check out the project
file locking it for yourself.
The courteous thing to do (karma, right?) is to add your file and
immediately check in the new project file with your newly added file
(as long as it doesn’t break the build 🙂 ). Try doing this in
BizTalk sometime (if you already haven’t) and watch the quick
destruction of your file. Once you start editing that file again
and check it back in you get a nice little warning about the encoding
type changing. Visual Source Safe does not handle this very
gracefully; Visual Source Safe does not handle this at all. You
will be fooled into thinking your file is safe because you are working
with the version on your local disk but the next time one of your team
members gets the latest version of your project the file will be toast.
What the …?
The issue here is that when you create new files in VS.net it likes to
create them as UTF-8 encoded files. Seems like a good idea; a
nice standard encoding type. BizTalk, however, has to be
different and save everything as UTF-16. Once again, another
nice, standard format. However, visual source safe is completely
oblivious to the change in encoding types an will gladly assume that
your are still managing a UTF-8 encoded file.
You can still be a gracious team member and have a quick
turn-around on adding new files to the project but just give those
files a little edit first before you check everything in.