Я использую VS 2005 Standard SP1, с .Net 3.5 SP1, установленным на XP.
На клиентских машинах установлен только .Net 2.0.50727 (также на XP).
Как я могу сказать компилятору отклонить любые классы или методы, которые недоступны в .Net 2?
В Visual Studio 2005 это невозможно, потому что он просто не знает о .Net 3.5. Visual Studio 2008 - первая версия, которая понимает .Net 3.5.
Лучший способ убедиться, что вы не используете классы, определенные в 3.5, состоит в следующем:
Вот ссылка на статью в блоге о правиле FxCop, о котором я говорил.
В статье говорится о ее запуске против VS2008. Но я не сразу вижу причину, по которой он не может быть использован в VS2005. Но я не могу установить его, чтобы проверить его.