Я не пробовал использовать проекты на всех трех, но мне, безусловно, удалось заставить 2005/2008 и 2008/2010 работать вместе до сих пор.
Ключ в том, чтобы взять копиюфайл решения (.sln), но не файлы проекта.Позвольте Visual Studio обновить файлы проекта.
Теперь, когда вы откроете старый файл решения со старой версией Visual Studio, ему все равно удастся загрузить новые файлы проекта в моем опыте.Он выдаст предупреждение, но будет работать просто отлично - опять же, по моему опыту.
Таким образом, у вас останется два (или три) файла решения, каждый из которых необходимо обновить при добавлении нового проекта., но только один файл проекта на проект.Я склонен называть файлы решений в зависимости от версии VS, например:
NodaTime VS2008.sln
NodaTime VS2010.sln
Обратите внимание, что если вы используете некоторые расширенные функции более новой версии Visual Studio (например, конструктор, который недоступен)в более старой версии) тогда вполне может сломаться.Но по моему опыту относительно простых проектов (с точки зрения просто кода, мало модных дизайнеров) это работает хорошо.Очевидно, что проекты должны быть ориентированы на версии .NET, которые также поддерживаются старыми версиями Visual Studio.