Hello Yuan,
That is not true. Let me explain our configuration a little bit:
We have separate projects as follows:
Solution
Project: BusinessLayer
Project: DBLayer
Project: Utils
Website:
Folder: App_Code
Folder: App_Themes
Folder: App1 (500+ files in many subfolders)
Folder: App2 (250+ files in many subfolders)
Folder: App3 (500+ files in many subfolders)
Folder: App4 (200+ files in many subfolders)
....{{ more applications in various folders... a total of 3000 files)
web.config
Note that each apps share the same web.config, so they are in the same
website. Also they depend on the other projects like BusinessLayer, DBLayer
etc.
In asp.net 1.1 we had separate projects (not website) for each App1, App2
etc. So when we were fixing bugs (say in App1), we just needed to compile
App1.
In asp.net 2.0, all the apps have to be in under the same web project (to
facilitate sharing of web.config, skins etc). Now when a developer changes a
small function in that dblayer that is related to app1 and does a build
website, the asp.net 2.0 compilier cannot figure out that folder app1 is only
dependent on this function so it compiles all the apps, a total of 3000 files
(it takes more than 2 and half minutes on my latop which is 3.4Ghz cpu and
has 1GB of RAM and 7200rpm drive).
I understand that if only the apps files change, the compilation is very
fast. however, in the development cycle, developers also change library
projects as well as apps.
I think this is a limitation, it would be nice if MS provided a folder
compile in addition to file compile and website compile for a vs.net 2005
website. Otherwise it would be good to know if some hack exists.
Some people on this thread has suggested I use msbuild for this. I do want
to stay in the development environment of vs.net 2005 and take advantage of
it. I understand msbuild is good for deployment options.
I hope I explained my problem well, I think all the advantages of 2.0
motivated us to migrate our program. This is however a big bottleneck that
needs addressing. Any other ideas/hack etc?
--
-jojobar
""Yuan Ren[MSFT]"" wrote:
Hi Jojo,
Thanks for your reply!
From your description, I think the problem is caused that all directories
are in the same project. This means that you have a single project for the
current application. Based on my experience, I think you can try to
separate the project to many parts. For example, the business objects layer
in one project and data access layer in another. So, if you have some
changed in the business objects layer, you just rebuild the business
project. I think this is an easy way to build a complex solution. Thanks
for your understanding!
Regards,
Yuan Ren [MSFT]
Microsoft Online Support