C # 3 и .Net 3.5 добавляет новые сборки, но IL не изменяется.
Это означает, что с помощью сборок .Net 2 вы можете компилировать и использовать C # 3, если вы не используете Linq или что-либо еще, ссылающееся на System.Linq или System.Core
yield
, var
, лямбда-синтаксис, типы anon и инициализаторы - все это умный компилятор. IL, который они производят, является кросс-совместимым.
Если вы можете сослаться на новые сборки для 3.5, все должно работать.
Новой версии ASP.Net не существует - она по-прежнему должна быть 2.0.50727 - но вы все равно должны скомпилировать для 3.5