Bring back incremental C# compilation
When coding Java in Eclipse, the compiler incrementally compiles the project in the background every time a file is saved. This way, when the user clicks run, the launch is instantaneous, rather than the long build process that comes with C#. This makes it easier to develop and test small changes, which in turn makes it easier to find and fix bugs.
The C# compiler originally had this functionality, but it was removed when .NET 2.0 arrived as it could sometimes cause problems. However, given that it been proved possible in an equivalent language by the Eclipse team, coupled with the obvious advantages a robust implementation of such a feature would bring, makes it an ideal candidate to be reintroduced.
In recent years the C# team has not shied away from difficult and advanced features, so I am confident they could achieve this, and it should provide a big improvement to developer productivity and satisfaction, and make C# more competitive with scripting languages for rapid, iterative development.
8 comments
-
George Hahn
commented
The free NCrunch addin does this.
-
Alex Davies
commented
.NET Demon does exactly this:
http://www.red-gate.com/products/dotnet-development/dotnet-demon/
Costs money, but not too much -
sql2012junkie
commented
Telerik JustCode offers a background compilation capability which works quite nicely.
-
Jeff Winn
commented
RIA services was doing something similar for intellisense purposes by automatically compiling the project on you however was removed as of version 1.2. I'd definitely avoid putting this in, for larger solutions this was a huge headache. It's fine if you're in a smaller solution without a lot of projects, but if you're in a large solution with a lot of projects depending on the project you just changed, it creates a huge hassle. Just my opinion.
-
Aaron Laws
commented
Looks like Roslyn will fix all this.
-
Fabian Schmied
commented
@sampai: ReSharper is a great tool and I am using it, but it does not make the launch of a project instantaneous at all - it only parses the code, it doesn't produce any binaries.
-
sampai
commented
Use ReSharper. It does all you need and eventually will boost your productivity many times.
-
Fabian Schmied
commented
Maybe the parser that currently generates the squiggly red lines for errors (this is often called "background compilation") could be extended to perform the incremental compilation.