Problem with buid times - big Web Site Project

Discussion in 'ASP .Net' started by 3P, Aug 20, 2009.

  1. 3P

    3P Guest

    Hi.

    I'm working on big solution. It's WebSite project with around 50 projects
    in it.
    Whenever I make any change in project referenced from WebSite and compile
    that project
    it takes about 20 minutes before I can use the website. I navigate to
    localhost IIS address
    and have to wait 20 minutes before it's usable. Looks like it is
    recompiling everything.
    I don't have to say that it makes our work almost impossible. If I make
    mistake then that
    20 minutes is lost. I edit the error and again have to wait 20 minutes.
    That can't be normal
    thing. What happens then?

    My first thought was it's because of WebSite Project not WebApplication.
    But one of coowerkers
    said he converted it do WebApplication and it didn't change anything (I
    didn't see it, so I don't
    know if I shoud believe it). My other thougt was that we have to many
    projects or some too complicate
    dependencies between projects. Build is very very slow.

    Do You have any ideas? Anyone with experience at working with so big
    solutions in ASP.NET?

    3P
     
    3P, Aug 20, 2009
    #1
    1. Advertising

  2. re:
    !> If I make mistake then that 20 minutes is lost

    Usually, developers test their applications on a staging server.
    Only when the application has been fully debugged should it be uploaded to the production server.

    Also, are you setting <compilation debug="false"> in web.config on the production server ?

    Doing that will bring down both compilation and execution times.



    Juan T. Llibre, asp.net MVP
    ? Estas probando VS 2010 y ASP.NET 4.0 ?
    Regístrate (gratis) en los Foros de VS 2010 y ASP.NET 4.0, en espanol
    http://asp.net.do/foros/forums/
    =====================================================
    "3P" <> wrote in message news:eek:...
    > Hi.
    >
    > I'm working on big solution. It's WebSite project with around 50 projects in it.
    > Whenever I make any change in project referenced from WebSite and compile that project
    > it takes about 20 minutes before I can use the website. I navigate to localhost IIS address
    > and have to wait 20 minutes before it's usable. Looks like it is recompiling everything.
    > I don't have to say that it makes our work almost impossible. If I make mistake then that
    > 20 minutes is lost. I edit the error and again have to wait 20 minutes. That can't be normal
    > thing. What happens then?
    >
    > My first thought was it's because of WebSite Project not WebApplication. But one of coowerkers
    > said he converted it do WebApplication and it didn't change anything (I didn't see it, so I don't
    > know if I shoud believe it). My other thougt was that we have to many projects or some too complicate
    > dependencies between projects. Build is very very slow.
    >
    > Do You have any ideas? Anyone with experience at working with so big solutions in ASP.NET?
    >
    > 3P
     
    Juan T. Llibre, Aug 21, 2009
    #2
    1. Advertising

  3. 3P

    Mr. Arnold Guest

    "3P" <> wrote in message
    news:eek:...
    > Hi.
    >
    > I'm working on big solution. It's WebSite project with around 50 projects
    > in it.
    > Whenever I make any change in project referenced from WebSite and compile
    > that project
    > it takes about 20 minutes before I can use the website. I navigate to
    > localhost IIS address
    > and have to wait 20 minutes before it's usable. Looks like it is
    > recompiling everything.
    > I don't have to say that it makes our work almost impossible. If I make
    > mistake then that
    > 20 minutes is lost. I edit the error and again have to wait 20 minutes.
    > That can't be normal
    > thing. What happens then?
    >
    > My first thought was it's because of WebSite Project not WebApplication.
    > But one of coowerkers
    > said he converted it do WebApplication and it didn't change anything (I
    > didn't see it, so I don't
    > know if I shoud believe it). My other thougt was that we have to many
    > projects or some too complicate
    > dependencies between projects. Build is very very slow.
    >
    > Do You have any ideas? Anyone with experience at working with so big
    > solutions in ASP.NET?


    1) Is this on your development machine?

    2) Does this solution have more than one ASP.NET Web UI project and all
    those projects are being complied too, and then they all have to be complied
    each time you navigate to localhost to start the solution?

    3) Does each ASP.NET UI solution has its own individual Web site within the
    total solution?

    You have one .sln that encompasses the total solution all projects. And if
    you use that .sln for the total solution, then it's going to take some time
    to build and get started, as it's encompassing everything.

    If each ASP.NET UI is its own Web site, you can do what is called a
    'project breakout'. That involves creating a .sln for each individual UI
    Web site project that contains all other projects and/or components from the
    total solution that's going to make it an infidel development project, so
    that you can start the individual development solution, build it starting a
    subset of the total project.

    You're not building or staring the entire solution, but a segmented part is
    built and started that makes start-up time much faster, if a individual.sln
    file is used for each Web site project within the total solution.

    When you build and deploy the solution to a test or production server, you
    must use the totalproject.sln

    If it's on your development machine, then you use the individualproject.sln,
    to build and start it.

    There are times in the development process that you must build using the
    totalproject.sln on your machine, in order to make your individual.sln to
    build and start the project properly.






    __________ Information from ESET NOD32 Antivirus, version of virus signature database 4353 (20090820) __________

    The message was checked by ESET NOD32 Antivirus.

    http://www.eset.com
     
    Mr. Arnold, Aug 21, 2009
    #3
  4. 3P

    3P Guest

    Dnia 21-08-2009 o 05:14:15 Mr. Arnold <MR. <>> napisa³(a):

    >
    > "3P" <> wrote in message
    > news:eek:...
    >> Hi.
    >>
    >> I'm working on big solution. It's WebSite project with around 50
    >> projects in it.
    >> Whenever I make any change in project referenced from WebSite and
    >> compile that project
    >> it takes about 20 minutes before I can use the website. I navigate to
    >> localhost IIS address
    >> and have to wait 20 minutes before it's usable. Looks like it is
    >> recompiling everything.
    >> I don't have to say that it makes our work almost impossible. If I make
    >> mistake then that
    >> 20 minutes is lost. I edit the error and again have to wait 20 minutes.
    >> That can't be normal
    >> thing. What happens then?
    >>
    >> My first thought was it's because of WebSite Project not
    >> WebApplication. But one of coowerkers
    >> said he converted it do WebApplication and it didn't change anything (I
    >> didn't see it, so I don't
    >> know if I shoud believe it). My other thougt was that we have to many
    >> projects or some too complicate
    >> dependencies between projects. Build is very very slow.
    >>
    >> Do You have any ideas? Anyone with experience at working with so big
    >> solutions in ASP.NET?

    >
    > 1) Is this on your development machine?

    Yes this is on my development machine.

    >
    > 2) Does this solution have more than one ASP.NET Web UI project and all
    > those projects are being complied too, and then they all have to be
    > complied each time you navigate to localhost to start the solution?

    There is only one ASP.NET Web UI project in solution - Web Site Project.


    All I do is change source in one of the referenced projects and then
    navigate
    to localhost/WebSite. Before I can click anything in website it's 20
    minutes.
    Every time I change anything in referenced project.com/mail/
     
    3P, Aug 21, 2009
    #4
  5. 3P

    3P Guest

    Dnia 21-08-2009 o 02:42:34 Juan T. Llibre <>
    napisa³(a):

    > re:
    > !> If I make mistake then that 20 minutes is lost
    >
    > Usually, developers test their applications on a staging server.
    > Only when the application has been fully debugged should it be uploaded
    > to the production server.
    >

    I'm working on my local machine. My thoughts are it's so slow because I use
    Web Site Project and whenever I change sth in referenced project anything
    get's
    validated and recompiled in Web Site? Web Site Application doesn't validate
    aspx/ascx when compiling right?

    3P
     
    3P, Aug 21, 2009
    #5
  6. You should look into using Web Deployment Projects...

    With WDP, you have more flexible options for generating
    compiled assemblies from a Web project, including these alternatives:

    a. A single assembly for the entire Web site.
    b. One assembly per content folder.
    c. A single assembly for all UI components.
    d. An assembly for each compiled file in the Web site.

    In other words, you can change the build options so that when
    you change a single file only that dll will need to be built/deployed.

    You are currently building a single assmble which includes 50 projects.

    I'd suggest building one assembly per content folder.
    That way, when files in one project change only that project will need to be rebuilt.

    Background info :
    http://msdn.microsoft.com/en-us/library/aa479568.aspx

    WDP download for VS 2008 :
    http://www.microsoft.com/downloads/...E8-C73B-4BDD-BB1B-FE697256C459&displaylang=en





    Juan T. Llibre, asp.net MVP
    ¿ Estas probando VS 2010 y ASP.NET 4.0 ?
    Regístrate (gratis) en los Foros de VS 2010 y ASP.NET 4.0, en español
    http://asp.net.do/foros/forums/
    =====================================================
    "3P" <> wrote in message news:eek:...
    > Dnia 21-08-2009 o 02:42:34 Juan T. Llibre <> napisa³(a):
    >
    >> re:
    >> !> If I make mistake then that 20 minutes is lost
    >>
    >> Usually, developers test their applications on a staging server.
    >> Only when the application has been fully debugged should it be uploaded to the production server.
    >>

    > I'm working on my local machine. My thoughts are it's so slow because I use
    > Web Site Project and whenever I change sth in referenced project anything get's
    > validated and recompiled in Web Site? Web Site Application doesn't validate
    > aspx/ascx when compiling right?
    >
    > 3P
     
    Juan T. Llibre, Aug 21, 2009
    #6
  7. 3P

    3P Guest


    > I find this hard to believe that there is only one ASP.NET Web UI
    > project in the solution, if there are 50 projects in the solution.
    > What's the other 49 projects about?
    >
    >

    This is huge application for insurance company. There is one Web Site
    Project. Others are dll libraries.
     
    3P, Aug 21, 2009
    #7
  8. 3P

    3P Guest

    Dnia 21-08-2009 o 18:08:31 Juan T. Llibre <>
    napisa³(a):

    > You should look into using Web Deployment Projects...
    >
    > With WDP, you have more flexible options for generating
    > compiled assemblies from a Web project, including these alternatives:
    >
    > a. A single assembly for the entire Web site.
    > b. One assembly per content folder.
    > c. A single assembly for all UI components.
    > d. An assembly for each compiled file in the Web site.
    >
    > In other words, you can change the build options so that when
    > you change a single file only that dll will need to be built/deployed.
    >
    > You are currently building a single assmble which includes 50 projects.
    >
    > I'd suggest building one assembly per content folder.
    > That way, when files in one project change only that project will need
    > to be rebuilt.
    >
    > Background info :
    > http://msdn.microsoft.com/en-us/library/aa479568.aspx
    >
    > WDP download for VS 2008 :
    > http://www.microsoft.com/downloads/...E8-C73B-4BDD-BB1B-FE697256C459&displaylang=en
    >


    But this all applies to Web Application project not Web Site Project
    Project right?
    I don't have any assemblies for Web Site Project. There are aspx, ascx
    files in WebSite directory.
    There are dll-s from other 50 projects that are copied bo Websites bin
    subfolder during build.

    Any good sources about converting WebSite Project to Web Site Application?
     
    3P, Aug 21, 2009
    #8
  9. re:
    !> But this all applies to Web Application project not Web Site Project right?

    No. It applies to Website Projects...

    Did your read the background info ?

    http://msdn.microsoft.com/en-us/library/aa479568.aspx





    Juan T. Llibre, asp.net MVP
    ? Estas probando VS 2010 y ASP.NET 4.0 ?
    Regístrate (gratis) en los Foros de VS 2010 y ASP.NET 4.0, en espanol
    http://asp.net.do/foros/forums/
    =====================================================
    "3P" <> wrote in message news:eek:p.uy00qscvmsp0fz@mcs...
    > Dnia 21-08-2009 o 18:08:31 Juan T. Llibre <> napisa³(a):
    >
    >> You should look into using Web Deployment Projects...
    >>
    >> With WDP, you have more flexible options for generating
    >> compiled assemblies from a Web project, including these alternatives:
    >>
    >> a. A single assembly for the entire Web site.
    >> b. One assembly per content folder.
    >> c. A single assembly for all UI components.
    >> d. An assembly for each compiled file in the Web site.
    >>
    >> In other words, you can change the build options so that when
    >> you change a single file only that dll will need to be built/deployed.
    >>
    >> You are currently building a single assmble which includes 50 projects.
    >>
    >> I'd suggest building one assembly per content folder.
    >> That way, when files in one project change only that project will need to be rebuilt.
    >>
    >> Background info :
    >> http://msdn.microsoft.com/en-us/library/aa479568.aspx
    >>
    >> WDP download for VS 2008 :
    >> http://www.microsoft.com/downloads/...E8-C73B-4BDD-BB1B-FE697256C459&displaylang=en
    >>

    >
    > But this all applies to Web Application project not Web Site Project Project right?
    > I don't have any assemblies for Web Site Project. There are aspx, ascx files in WebSite directory.
    > There are dll-s from other 50 projects that are copied bo Websites bin subfolder during build.
    >
    > Any good sources about converting WebSite Project to Web Site Application?
     
    Juan T. Llibre, Aug 22, 2009
    #9
  10. 3P

    3P Guest

    Dnia 21-08-2009 o 22:24:09 Mr. Arnold <MR. <> napisa³(a):

    >
    > "3P" <> wrote in message news:eek:p.uy00lytnmsp0fz@mcs...
    >>
    >>> I find this hard to believe that there is only one ASP.NET Web UI
    >>> project in the solution, if there are 50 projects in the solution.
    >>> What's the other 49 projects about?
    >>>
    >>>

    >> This is huge application for insurance company. There is one Web Site
    >> Project. Others are dll libraries.

    >
    > Well, if there are a ton of ASP.NET Web pages, then you are stuck on
    > your development machine.
    >
    > Because each time you access the solution the first time after a build
    > on localhost, it's going to recompile all those pages to be used in
    > memory when you access the solution 'localhost'.


    If it was Web Site Application would it also recompile all pages? Is there
    any way to make it
    compile only pages I navigate to? I use/work on about 5% of pages. I don't
    care about others.
     
    3P, Sep 3, 2009
    #10
  11. 3P

    3P Guest

    Seems that I worked that out without changing to Web Site Application.

    Two hotfixes (one is optimizeCompilation) + batch compilation set to false
    in some folders and went from 20 to 2 minutes :)
     
    3P, Sep 6, 2009
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Pedro Mir
    Replies:
    2
    Views:
    462
    Winista
    Jun 20, 2006
  2. Shaguf
    Replies:
    0
    Views:
    560
    Shaguf
    Dec 24, 2008
  3. Shaguf
    Replies:
    0
    Views:
    507
    Shaguf
    Dec 26, 2008
  4. Shaguf
    Replies:
    0
    Views:
    277
    Shaguf
    Dec 26, 2008
  5. Shaguf
    Replies:
    0
    Views:
    257
    Shaguf
    Dec 24, 2008
Loading...

Share This Page