Соглашаясь и расширяя ответ zacherates ... Да, у вас всегда должен быть некоторый повторяемый процесс сборки. Хотя технически проекты Visual Studio представляют собой файлы MSBuild, «официальный» процесс сборки лучше отделить от среды разработки.
На мой взгляд, это правда, независимо от того, насколько велика (или мала) команда. Я использую NAnt и CruiseControl.NET у себя дома , где все, над чем я работаю, - это пустые проекты и эксперименты. На работе мы используем аналогичную настройку, но немного более структурированную в том, как составляются сценарии NAnt.
Это определенно стоит вашего времени, чтобы разобраться в этом. Это не панацея, но это лучшая практика для точного определения того, какая сборка была выпущена когда, а что в дикой природе. Возможность идентифицировать ваш скомпилированный код - полдела для устранения неполадок! :)