C# 4 and CLR Compatibility

Are all the additions to C# for version 4 (dynamic, code contracts etc) expected to run on the current .NET CLR, or is there a planned .NET upgrade as well?


C# 4 will require the .NET 4.0 CLR.


Well, .NET 4.0 will require CLR 4.0; however, it is a little harder to answer what parts of C# 4.0 will work on .NET 2.0/3.x. We can hope that VS2010 will still be multi-targeting(I don't have the CTP "on me" so to speak, so I can't check...). But some of the language features don't seem hugely tied to the runtime (named parameters, some of the COM changes such as "ref") - so I can't think of a good reason why they wouldn't be available when talking to .NET 2.0/3.x. I haven't checked, though.

However, as with C# 3.0, some of the features are tied to the runtime - in particular dynamic.

I need to dig out the CTP and have another play, methinks...


You don't have to wait for 4.0 to use Code Contracts as it runs on .NET 3.5, the download link for the academic preview release is here.


  • virtual field are not working in cakephp
  • CakePHP theme resources return error
  • send data from cakephp view to controller using $.ajax post
  • CakePHP & JQuery, location.reload sometimes not working
  • Filter android ListView with predefined filters
  • Replacing accents w/ their counterparts in AS3
  • Akka.NET not recognising my custom logger and defaulting to BusLogger
  • Get highest value from a file using mSL and mIRC
  • Are there any fluent WPF projects? [closed]
  • Build entire solution for .NET 4 and .NET 4.5 and copy files to specific folders
  • how to force the use of cmov in gcc and VS
  • How to edit css for jquery datepicker prev/next buttons?
  • How to create a Unix-domain socket with specific access permissions
  • Changing Jupyter Notebook start up folder by modifying “start in” not working any more
  • Using Laravel 5.4 pusher
  • Using Generics on right hand side in Java 6?
  • How to use function wrapper in mustache.php?
  • Python ImageIO Gif Set Delay Between Frames
  • C# fibonacci function returning errors
  • Invalid Date on validation Date of js
  • How to get current document uri in XSLT?
  • converting text file into xml using php?
  • Convert Type Decimal to Hex (string) in .NET 3.5
  • What is the purpose of TaskExecutor in spring?
  • Using JRuby with Rails 3.2
  • MySQL Order by column = x, column asc?
  • How integrated is Collada to OpenGL ES
  • Oledb connection string for excel files
  • Android activity accessing service's static reference before the service is ready
  • Counter field in MS Access, how to generate?
  • Large data - storage and query
  • Jquery - Jquery Wysiwyg return html as a string
  • Return words with double consecutive letters
  • R: gsub and capture
  • jqPlot EnhancedLegendRenderer plugin does not toggle series for Pie charts
  • Arrays break string types in Julia
  • Comma separated Values
  • WPF Applying a trigger on binding failure
  • Java static initializers and reflection
  • How to load view controller without button in storyboard?