Not long ago ReSharper 6.1 was released with support for Async CTP. That was very pleasant news because lack of ReSharper's support was the only reason why we didn't start using Async CTP in our project.

So ReSharper worked great with Async CTP in our Silverlight 4 project, but after we upgraded to Silverlight 5, suddenly it would underline (like errors) the "async" and "await" keywords and the tooltip said "C# 5.0 language feature":


After fruitless googling I was pointed to a solution in Twitter that I wanted to share here.

So, basically all you have to do is to set the ReSharper's "C# Language Level" property of the project to C# 5.0:


(In order to open project properties select the project in the solution explorer and press F4)

If you have many projects in your solution it is not very convenient to set this property for each of them individually. Fortunately there is a way to set it for all projects in solution at once. ReSharper 6.1 was released with another great feature: new settings engine that allows defining setting on different levels. So, changing the property above would result in MyProject.csproj.DotSettings being created in the project folder that contains this:


In order to apply this setting to all projects in solution, just cut this setting (<s:String...</s:String>) from this file and past it to the MySolution.sln.DotSettings file in the solution folder. Settings on solution level are applied to all the projects in that solution.