RE: Huge project - long build time
From: Mark Lines-Davies, Guildford, UK (UK_at_discussions.microsoft.com)
Date: 11/15/04
- Next message: Cor Ligthert: "Re: System.Diagnostics.Process.Start"
- Previous message: toby: "System.Diagnostics.Process.Start"
- In reply to: cody: "Huge project - long build time"
- Next in thread: Mark Lines-Davies, Guildford, UK: "RE: Huge project - long build time"
- Reply: Mark Lines-Davies, Guildford, UK: "RE: Huge project - long build time"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 15 Nov 2004 02:22:02 -0800
Hi Cody
We too are having terrible speed problems with VS.NET.
Our solution contains 10 VB.NET projects, but they're quite big: the
solution as a whole contains 500K lines of code.
Response time in the VB IDE has long been a problem for us. You can type a
line, press return and it's 30 seconds to a minute before the IDE responds.
And this is on a high-end machine with 2GB RAM! I understand that this is
because the VB compiler recompiles behind the scenes every time you leave a
line, and this behaviour is too tightly bound into the VB IDE to be removed.
It really does make VB.NET unsuitable for enterprise application
development. C# doesn't seem to have the same problem, but unfortunately
VB.NET is a corporate standard here, so we're stuck with it.
But a slow response time isn't our biggest problem: compile speed is.
Until the middle of last week, build times were reasonable and the compiler
seemed to be able to do dependency checking ok. Then, one by one, each
developer on the team started seeing build times lengthen dramatically. It
now takes 20 minutes to rebuild the system.
Also, all concept of dependency checking seems to have been lost. You can
change one line in one project, press the Start Debugging button, and VS
rebuilds the entire solution.
When you build, it takes ages even to start. Then as it does each project,
it says "Building satellite assemblies" and then just waits. I have no idea
what satellite assemblies it might be building.
The best we can do at the moment is do a Get Latest Version in the morning
to get everything out of SourceSafe, then each of us spends 20 minutes doing
a full rebuild. Then we use Configuration Manager to switch the building of
all the projects off except the one each of us is working on.
When any of us is ready to test, they build only the project with their
changes, then use Configuration Manager to switch all projects off before
doing Start Debugging.
Even then, there's a long pause before text appears in the Output window to
say that nothing needed building!
Having searched the 'net I found a suggestion that unplugging your network
cable might help. Tried it but no luck, and in any case we can't debug like
that as we need access to our database server.
As a workround, messing with Configuration Manager isn't ideal, and given
that the projects are a mixture of ASP.NET, web services, business layer and
data layer code, we frequently need to make changes in several projects when
we implement a new use case. Back to a 20 min wait each time.
This really is a serious problem for us and will shortly impact our
deadlines. So if anyone at Microsoft knows what is going on, please could we
have some advice.
thanks
"cody" wrote:
> We have a huge project, the solutuion spans 50 projects growing. Everytime I
> want to start the project I have to wait nearly over 1 minute for the
> compiler to complete building. This is unaccaptable.
>
> I thought about loading only the project I need into visual studio and not
> the whole solution. The problem is that the compiler tells me it cannot find
> the referenced dlls (project references) although they are all lying in
> their bin and obj folders.
>
> To get around that problem I have the idea that I could replace the project
> references with dll references.
> But this would introduce more problems: When I have to make a complete
> rebuild, I have to manage the build order manually since the compiler cannot
> see which project is dependend from which.
> Thr second thing is what is if I switch from debug to release build? Do I
> have to change all paths from all referenced dlls from .\debug to .\release?
> Would it work this way or is there another/better solution?
>
> --
> cody
>
> Freeware Tools, Games and Humour
> http://www.deutronium.de.vu || http://www.deutronium.tk
>
>
>
- Next message: Cor Ligthert: "Re: System.Diagnostics.Process.Start"
- Previous message: toby: "System.Diagnostics.Process.Start"
- In reply to: cody: "Huge project - long build time"
- Next in thread: Mark Lines-Davies, Guildford, UK: "RE: Huge project - long build time"
- Reply: Mark Lines-Davies, Guildford, UK: "RE: Huge project - long build time"
- Messages sorted by: [ date ] [ thread ]