You can provide the compiler version as an option through the CSharpCodeProvider constructor, which takes a providerOptions (IDictionary) argument. If you use CodeDomProvider.CreateProvider, you can use its similar overload. eg:.
using (CodeDomProvider provider = CodeDomProvider.CreateProvider(
"CSharp",
new Dictionary<string, string>() { { "CompilerVersion", "v2.0" } }))
{
}
. . http://msdn.microsoft.com/en-us/library/bb537926.aspx.