asp.net-mvctdd

How to setup ASP.Net MVC solution for quickest build time


I want to find the best setup for ASP.Net MVC projects to get the quickest code-build-run process in Visual Studio.

How can you set up your solution to achieve near zero second build times for small incremental changes?

If you have a test project, with dependencies on other projects in your solution, a build of the test project will still process the other projects even if they have not changed.
I'm don't think it is entirely rebuilding these projects but it is certainly processing them. When doing TDD you want an near zero second build time for your small incremental changes, not a 20 - 30 second delay.

Currently my approach is to reference the dll of a dependent project instead of referencing the project itself, but this has the side effect of requiring me to build these projects independently should I need to make a change there, then build my test project.

One small tip, if you use PostSharp, you can add the Conditional Compilation symbol SKIPPOSTSHARP to avoid rebuilding the aspects in your projects during unit testing. This works best if you create a separate build configuration for unit testing.


Solution

  • One way you can cut down on build times is to create different build configurations that suit your needs and remove specific projects from being built.

    For example, I have Debug, Staging, Production, and Unit Test as my configurations. The Debug build does not build my Web Deployment project or my Unit Test project. That cuts down on the build time.