You are faced with a drawback of ASP.NET when used with large web applications.
DotNetNuke has many meaningful DLLs and VB files that should all be processed if all you do is change one DLL. If you have 50 DLL modules in your box, all 50 DLL modules will be processed by ASP.Net after the next application request.
Here is my suggestion:
Connect the following folders to the source control (not the entire DNN folder):
- bin (I suggest ignoring all DNN DLLs, so updates become smoother)
- Portals_default \ Skins
- Portals_default \ Containers
- Js
- DesktopModules (ignore admin or any built-in modules)
- (ignore basic DNN images if you want, or any of your own awkward image folders, such as thousands of customer photos).
- (optional) CompanyName \ (where you might want to save other .NET projects that need relative access to the DLL in the bin folder)
When one of your developers requires re-compiling / page loading, it will benefit the most by excluding as many DLLs in the bin folder as possible. It will also help use a bone helmet for testing if you can (they are very easy to make).
The barebones skin (which should use only 1 or 2 skin objects, at most) and the absolute minimum DLL (DNN Core + minimum minimum) will give you the best speed for development.
When your developer works with the focused development of a single module, he can update the folders that he deleted from the original control (svn here), complete the testing of his code in the context of a complete set of DLL / Skin and it will be installed.
Sometimes it's worth it. I cannot bring you up to several seconds of ASP.NET processing, but I can bring you up to 10-15 seconds. (assuming you are working on an SSD)
Regarding resuming production, make sure your APP pool is being processed after hours.
I studied whether multi-core settings could somehow reduce processing time, but had no luck (I have an open question on serverfault)
source share