I worked on very large C # projects and rarely saw Debug build time exceed 2 minutes.
What usually takes time is things like static analysis (like fxcop), unit tests, code signing (when using the code notation service), etc. The easiest way to keep them under control is to either restrict them to release assemblies, or to have a separate assembly definition for Full Assembly and exclude these steps from your Debug and Release collections.
If this is not your problem, look at the performance of your computer, as others have said. Fragmentation, slow disk assemblies, antivirus, etc.
source share