Which C# version, 2 or 3?

Jun 5, 2013 at 5:19 AM
It says Jint is a .NET 2.0 project, but the parser is full of 'partial' methods, which is C# 3 and above only.


If I set the project to .NET 3.0, it creates a conflict between System.Func and Jint.Delegates.Func, where System.Func is a new thing in .NET 3.0


Which is it supposed to be?
Jun 5, 2013 at 7:21 AM
Ah, one I can actually help with!

Don't confuse the .NET version with the C# compiler version (which is dependent on which version of Visual Studio).

C# 3 introduced partial methods but that is just syntactic sugar, you can still target .NET 2.0 projects.

Cheers
Simon
Jun 5, 2013 at 1:04 PM
OK, how do I configure the project to do that? Because it wants to keep those two in sync.
Jun 5, 2013 at 1:39 PM
I don't actually use this project but I guess the project file is already configured to target .NET Framework 2.0 so you just need to be running with a C# v3 compiler (VS2008 or higher) so that it understands the partial methods.
So, no need to change the target framework to 3.0, but you might want to get the original source as setting it to target framework 3.0 may have added some framework references you didn't want and need to remove before compiling.

This link might help clarify the other things you can do with the v3 c# compiler but still targetting .NET framework 2.0:
http://stackoverflow.com/questions/5254605/advice-on-using-net-3-0-syntax-and-compiling-for-2-0-please