Current filter:
                                You should refresh the page.
                                  • I have posted the problem on the forum at http://community.devexpress.com/forums/t/102397.aspx. I have not seen any response so I am filing this as an issue.

                                    Basically, I am having the slow saving issue in VS2010 x64 Ultimate when saving ASPX files. I have had this problem on two different machines and so have 5 of my co-workers on the same code base. We do not have this problem when using regular ASP.NET controls. Our page may only have a single grid with a few columns and it takes 30 seconds to save after making any changes to the markup. The more dx controls we add the worse it gets.

                                    I saw that there was a fix for VS2008 and that the HotFix should have been included in VS2010.

                                    We are using Dell laptops with Intel Core i7 processors and 8GB of ram, so this NOT a hard ware issue.

                                    It appears that every save is redrawing the entire page structure INCLUDING Master pages. Our master pages have several Round Panels and Menu bars by DX. If we convert page contents to a User Control the save issue goes away. BUT THIS IS NOT A VIABLE SOLUTION BECAUSE IT WILL TAKE TOO MUCH TIME AND OVERHEAD TO REDESIGN OUR APPLICATION TO ACCOMMODATE THE SLOW DX CONTROLS.

                                Hello Justin,

                                Thank you for your report.

                                I am afraid the issue is very specific. At least, I could not reproduce it on my machine. I have tested it in Visual Studio 2010 Professional. Could you please create a sample project that I can test on my side? Additionally, we need more detailed information about the Visual Studio version and system.

                                We appreciate your cooperation.

                                Best regards,
                                Vladimir

                                P.S. You can mark this thread as private to prevent other users from viewing posted private data.

                                I have been trying to create a sample project that will reproduce this error. However, with my simple demo, I have not been able to reproduce the behavior. Is there a tracing or profiling tool I can run while I have my real solution open.

                                Would it be helpful to see a screen recording of the behavior?

                                Hello Justin,

                                Thank you for your reply.

                                I think any information will be helpful. A screencast can clarify the project behavior. I will send it to our developers. It is possible that they will determine the issue using it.
                                Since you could not reproduce the issue using a small project, would you please simplify your real project by removing controls, one by one, and test the issue? Then, we can determine what control combination causes the issue.

                                In addition, you can try to test the Visual Studio process with the Process Monitor tool. In particular, have a look at the file activity.
                                Also, I suggest you to clear the [user folder]\AppData\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas folder. It contains some Visual Studio cached files.

                                I am looking forward on your reply.

                                Best regards,
                                Vladimir

                                Thanks for the tips. I downloaded the process monitor tool and recorded the activity. However the file it generated after 2-3 minutes of recording was 4GB!!.

                                I created a screen capture showing the problem in action. I am attaching it to this ticket.

                                I deleted the files in [user folder]\AppData\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas and that did not help.

                                I am using Windows 7 x64, VS 2010 SP1 Ultimate. My machine is a Dell Latitude 6520 with i7 and 8GB of ram.

                                Please let me know if I can provide any more information.

                                Thanks,

                                Justin

                                Hello Justin,

                                Thank you for your screencast.
                                I have discussed it with our developers. I am afraid currently we cannot determine the source of the issue.We need additional information to continue investigation.

                                1. According to your screencast there are several processes at the top right corner. I do not know how they are ordered, but their order sometimes is changed. I assume that they are ordered by CPU consumed time. If so, would you check what processes consume CPU time and in which proportion? It seems that several processes are loading one processor core.
                                2. We do not perform any specific operation during saving an image (or control) at design time. The only difference is that our control can have a lot of properties. By the way, I do not think that it influences the save performance. We'd like to investigate the issue on our side. Please send us a simplified sample project based on your real project structure. Check whether or not the sample project with the demonstrated master page and child page contains the issue and then send it to us for investigation.
                                3. It will be great if you can check the project on another machine with different configuration. I think your co-workers' machines have the same configuration. Thus, the issue is reproduced there too. Could you please check it on the "clean" machine?
                                4. I have googled the issue and found several descriptions that look like yours. Please examine the VS2010 very slow on save thread. There are several replies from MS VS developers. It is possible that it will be helpful.

                                Please keep us informed of your progress.

                                Best regards,
                                Vladimir

                                1. The processes were ordered by CPU just to demonstrate that devenv.exe takes 100% while saving.

                                2. I have tried to simulate by stripping out a page that exhibits this behavior but I was not able too. I should not have to strip down an entire enterprise scales system to a sample site just to prove that this is happening.

                                3. We have tried this on several different machines, desktops and laptops. With 3,4, or 8 GB of ram. We have also tried in VMs and real hardware. All of them have this problem. I have run the procmon tool and when I save a page that does not exhibit this behavior I get about 1,400 events during the save. When I save my master page that was shown in the video, I get 1,946,304 events. Almost all of the 1.9 million events are VS opening and reloading all of the extensions. I would upload the logs but the file is 3.9GB on disk for the slow save log.

                                Why would saving a page with your controls cause VS to reload all of the extension in the system?

                                This has gotten so bad that some of our developers are experiencing 4-5 minute delays just to save a file. We are REALLY loosing TIME AND MONEY. We are really regretting purchasing the Dev Ex suite now.

                                Please help.

                                Hello Justin,

                                Thank you for your reply.

                                I am really sorry that you have faced such a strange issue. I am afraid this issue is unique. We have not received similar reports from our customers before.
                                I understand that the issue is really annoying. We want to help you solve it, but we need to reproduce the issue and investigate it before we can suggest you correct solution.

                                1.Could you please copy your project, clean all other files (without removing them!) except a master page with our controls and test it. If the issue is reproduced, please send the project to us. If it is necessary keep the markup for reproduction, clean up the code files only and test again. If the issue is reproduced only with the full copy of your project, I ask you provide it to us. We guarantee that no part of your project will be disclosed, and all your files will be deleted from our disks when the conversion is successfully completed. If you wish to sign NDA with our company, please contact our CTO Julian Bucknall (mailto:julianb@devexpress.com).

                                2. I'd also like to ask you send collected log file to us. You can upload it to our secure FTP server:

                                Server: ftp.devexpress.com
                                User: UPLOAD
                                Password: HEREYOUARE

                                Please let me know when the archive arrives.

                                I am looking forward to your reply.

                                Best regards,
                                Vladimir

                                I have uploaded 3 trace files and a readme.txt to explain the contents of the procMon.exe trace logs.

                                I also tried to disable my anti-virus as suggested in http://connect.microsoft.com/VisualStudio/feedback/details/572071/vs2010-very-slow-on-save. That did not help.

                                I have been trying to create a new VM with only Win7 + VS2010 + SQL Server 2008 R2 + DevEX. I will let you know when I am able to test in a totally clean environment with nothing else installed.

                                I have contacted my project manager to start the NDA process. I will keep you posted on that front. Until then please look at the logs and let me know if there is any other information that you could use.

                                Thanks,
                                Justin

                                Hi Justin,

                                I am working with Vladimir for the ASP.NET team. I have started downloaded those PML files and noticed that they are actually text files. Would you please archive them before uploading? This will allow us to download them significantly faster. As an example, zipping the smallest file - StaffMaster_FastSave.PML (30 MB) - has resulted in a 1 MB archive.

                                Regards,
                                Serge

                                I have uploaded the files to the FTP. You should now see DevEx Log.zip which is ~160MB.

                                I have just tried this in a clean VM with Windows 7, Visual Studio 2010 Ultimate and DX 2010 Vol2. It still has this slow saving behavior. There is no Anti-Virus or other software installed.

                                I tried with and without VS2010 SP1 and using IISExpress and Cassinni web servers.

                                Also, if you right click on the ASPX file and choose Open With XML editor or the text editor instead of the ASPX editor, it does not take a long time to save. So there is SOMETHING that is causing it to evaluate or serialize on a save that is taking a long time in the ASPX and MasterPage editors.

                                Thanks,

                                If it would help, we could do a live meeting or a GoToMyPC session too.

                                This is also happening on the latest version v2011 vol 1.5.

                                Can someone PLEASE HELP. WE ARE DEAD IN THE WATER ON OUR PROJECT AND MISSING DEADLINES BECAUSE OF THIS. THIS HAS BEEN OPEN FOR ALMOST 10 DAYS NOW WITHOUT ANY REAL HELP FROM YOU GUYS.

                                PLEASE HELP!!!!!

                                Hello Justin,

                                Thank you for your files. We have downloaded them and are now researching their contents. We apologize for the delay. We are doing our best to speed up our research. It is very hard to research the issue because we do not see a clear cause. Our developers are trying to determine the source of the issue using your logs. I hope this information will be enough for detecting the culprit. I will keep you informed about our progress. A sample project would be greatly appreciated because testing a real sample on our machines tends to be the fastest route to finding a solution.

                                We greatly appreciate your patience and co-operation.

                                Best regards,
                                Vladimir

                                Hello Justin,

                                Our developers have investigated provided log files. I am afraid we cannot find much.
                                We have determined that the following files are opened a lot of times during saving a master page:
                                npgsql.dll
                                system.data.sqlite.dll
                                mysql.data.dll

                                These files are also opened on saving a page with 3 DevExpress controls and not opened on saving UserControl. I'd like to clarify the following:
                                1. Do you use some tools for access to a database?
                                2. Do you use the DevExpress XPO technology in your project?

                                I am looking forward to your reply.

                                Best regards,
                                Vladimir

                                Thank you for your response. I am still working with our project manager to get the NDA so we can send a copy of our project since we can't easily reproduce the issue with a stripped down project.

                                We are using Entity Framework 4.1 backed by MSSQL server for our data access. However we are not using any MySql or SqlLite components in the project.

                                Sorry, I forgot to mention that we do NOT us the XPO technology in our project.

                                Hello Justin,

                                Thank you for the clarification.
                                Could you please try to search for those dll-files in the following folders:

                                C:\Users\jspradlin\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\
                                C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\

                                If you have found them, please try to test the project on some test machine without corresponding Visual Studio extensions.
                                If you do not manage to find files in these folders, would you please search for them on you machine. You need to determine which applications these files belongs to. If you do not use other sql engines than MSSQL engine, try to test the project on a test machine without these applications.

                                Keep us informed about your progress.

                                Best regards,
                                Vladimir

                                I did not find them in either of the specified folders. I am currently running a deep search on my machine to find them. No hits yet.

                                However, last week I created a new VM with Windows 7, installed VS2010 Ultimate then installed the latests DX control suite. Then I pulled down the latest code from our TFS server and the problem happened.

                                I also updated to VS2010 SP1 and installed IISExpress and that had no change.

                                I also forked the VM at the pre VS2010 state and created one using VS2010 Pro and the same results happened with and without SP1 for VS2010.

                                I will let you know if any of those dlls turn up on my main development machine.

                                In all instances the Visual studio had no installed extensions other than any that ship with VS2010.

                                Thanks,

                                I was able to find mysql.data.dll and system.data.sqlite.dll but not npgsql.dll.

                                The found results were in the bin directory of the project source for N2CMS and Umbraco (two ASP.NET CMS open-source projects). These are just unrelated projects directories on my system. There were also two hits for MySql.Data.dll in
                                C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\318982b3\75f8caa2\assembly\dl3\a1c4331d\00703a6e_fbcdcb01
                                and C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\82f9caaf\c46ba6ce\assembly\dl3\f9365a91\00703a6e_fbcdcb01. These are the ASP.NET Temp files for my Umbraco project.

                                I really don't think that these unrelated files have anything to do with the problem, since they are just references in a unrelated project and are not found in the VM that I created.

                                Thanks,

                                I think I found the culprit!!!

                                We are using Elmah1.2 in our project. I noticed that Elmah.dll is getting a lot of references in the log files. I think that is what was looking for the three specified dlls. When I remove Elmah.dll from our projects all pages save at a normal speed. However, I don't know what causes Elmah to look for all of the data access dlls when you save a page full of DX controls. I would appreciate if your developers could see what is triggering this interaction with elmah.

                                I was able to find mysql.data.dll and system.data.sqlite.dll but not npgsql.dll. So I believe that this is some kind of time out issue where the compiler is looking in all known directories for these dlls.

                                The dlls I did find were in the bin directory of the project source for N2CMS and Umbraco (two ASP.NET CMS open-source projects). These are just unrelated projects directories on my system. There were also two hits for MySql.Data.dll in
                                C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\318982b3\75f8caa2\assembly\dl3\a1c4331d\00703a6e_fbcdcb01
                                and C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\82f9caaf\c46ba6ce\assembly\dl3\f9365a91\00703a6e_fbcdcb01. These are the ASP.NET Temp files for my Umbraco project.

                                I am attaching a demo that shows how the Application.Master file is slow to save. It is kind of hard to tell in this small scale project because the save delay is only about 10 seconds, but it is much worse in the real project. You should be able to save any of the aspx files without any delay, but the application.master will take several seconds. If you remove the reference to elmah.dll it saves almost immediately. After you remove the reference you will have to copy the elmah.dll to the bin directory to get the site to run again since the web.config still has all of the elmah handlers setup.

                                Thanks,

                                Hello Justin,

                                I am really glad to see that the issue is located.
                                I have tried to open your project, but I could not. I am afraid it requires an additional file. I got the following errors when I ran it:
                                The imported project "C:\Program Files (x86)\MSBuild\Microsoft\StyleCop\v4.4\Microsoft.StyleCop.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

                                Would you please watch the attached video and point out what I should do to run the project?

                                Best regards,
                                Vladimir

                                Sorry,
                                Our standard project templates include StyleCop. I have updated the project to remove the dependency.

                                I also started a ticket at the elmah site too.
                                http://code.google.com/p/elmah/issues/detail?id=237

                                You can download the database drivers for the MySql, PostgreSQL and SQLite at http://code.google.com/p/elmah/wiki/Downloads?tm=2

                                If you put those in the bin for the project, then Elmah finds them and the project saves at normal speed. I still don't know why the DX controls trigger this behavior.

                                Hello Justin,

                                Thank you for your project.

                                I have opened it and reproduced the issue. In the sample project saving lasts several seconds, but I can see a difference with other pages.
                                I have notified our developers of the issue and I will inform you of their progress. It can take time, so please accept our apologies for a possible delay.

                                Best regards,
                                Vladimir

                                I am glad that you were able to reproduce the issue. Hopefully you will be able to figure out what is going on. As I mentioned earlier, I created a ticket with the ELMAH community and the developers responded saying that they don't load the dlls until they are requested at run-time. It may help the developers to check it out. You can see the response at http://code.google.com/p/elmah/issues/detail?id=237.

                                Just a hypothesis here, but it may be that the same logic that parses the markup save event and adds the DX references may be triggering the ELMAH to search for it's dependencies. I know that if I add a DX control that is not referenced, it will add the project references (if they don't exist) when I open the designer view of my markup. Maybe that same behavior is causing third party dlls to search for refereences. Maybe that will help put the developers on the right track.

                                Thanks,

                                Justin

                                Hello Justin,

                                Thank you for your patience.

                                Our developers have investigated the issue. We have found that if the controls are registered in web.config, it looks like Visual Studio begins 'analyzing' (somehow processing) assemblies when saving the page (including Elmah.dll, which requires additional sql .dll files).
                                I am afraid we cannot influence the Visual Studio behavior. You can use the workaround you have found, i.e. include the required files in the project. Alternatively, you can register necessary controls on the page instead of the web.config file. It will also solve the issue. I have attached a sample project, which demonstrates the second workaround.

                                If you have any other questions, you are welcome to contact us at any time.

                                Best regards,
                                Vladimir

                                See Also:
                                Slow ASPX Save VS 2010

                                Thank you.

                                I will try to put the references back in to the page. They were organizationally there but I saw in that in the demos that ship with DX Experience. I thought it was a good idea, since it really cleans up the markup in the pages to not have the Register blocks at the top.

                                I will try this on our full size project and make sure that it fixes our problem.

                                Also, can you make this issue public? I would like to post a report with Microsoft and link to this thread so maybe they can fix this behavior in a future release of Visual Studio.

                                Hello Justin,

                                Thank you for your reply.

                                I think registering controls in web.config is a normal approach as well as control registration on a page. Usually both approaches work well. I am not sure why the issue occurred with the included Elmah.dll.
                                I have marked this thread us Public as you requested. Note, currently any other user has access to it and its attachments.

                                Best regards,
                                Vladimir