Kendo UI upgrade wizard very slow for ASP.NET MVC

25 posts, 0 answers
  1. CORNEL
    CORNEL avatar
    44 posts
    Member since:
    Jan 2012

    Posted 15 May 2013 Link to this post

    Hi Guys!

    I'm curious why the Telerik upgrade project wizard is so very slow every time i upgrade an ASP.NET MVC 4 project. I can see each of the files copied in status bar with a what seems like a forced delay in between each file. The whole process takes more than 10+ minutes and in the meantime the drive activity is very low.
    All other operations with 100 times more files on my SSD machine are very fast and finish in matters of seconds like it is with creating new Kendo UI ASP.NET MVC 4 project.
    Just for the existing project the upgrade operation is very very slow and i wonder if you guys can shed some light on the matter.

    Cheers!
  2. Teodor
    Admin
    Teodor avatar
    56 posts

    Posted 18 May 2013 Link to this post

    Hi Cornel,

    Sorry for the delayed response.

    The file operations are done through the Visual Studio API and it is usually a slow process, especially if you are using TFS/Source Control integration. On my virtual machine it takes a maximum of 1 minute per project - if you have a multitude of projects it can take a significant amount of time. Hope this answers your question.

    Kind regards,
    Teodor
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  3. Gene
    Gene avatar
    1 posts
    Member since:
    Jun 2015

    Posted 15 Dec 2015 Link to this post

    I've been waiting for 45 minutes for the upgrade wizard to complete.  I'm assuming it isn't supposed to be that slow to update 2 projects.  I watched the files copy over in the status bar, and now all I see is Telerik VSExtensions: MyProject, Resource (Copy Script Files.)
  4. Ventsi
    Admin
    Ventsi avatar
    46 posts

    Posted 17 Dec 2015 Link to this post

    Hi Gene,

    Thank you for contacting us.

    Indeed, the upgrade of a project takes more time than the creation of new one. Teodor shed some light on the process but here are some more details.

    The upgrade of a project roughly consists of two stages:
    • Copy the new resources in the project directory and add them to the project
    • Remove the old resources from the project and delete them from its directory

    As you know, Kendo contains a lot of script and style files. While the process of copying these files is fast, the process of adding/removing them to/from the project takes more time. To do this the extensions use the Visual Studio API which has its limitations and also does not allow us to have deep control over the process.

    However, 45 minutes is too much time for the upgrade. I would suggest to try the following:

    We are sorry for the inconvenience caused. Please, do not hesitate to contact us in case further questions arise.

    Regards,
    Ventsi
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  5. NerdBrick
    NerdBrick avatar
    36 posts
    Member since:
    Jan 2013

    Posted 06 Jan 2016 Link to this post

    I was wondering the same thing about how slow it is to upgrade too.

    We use the _references.js file for helping the JS statement completion. This file dynamically updates as JS files are added to the project. As the KendoUI is updating the JS file, this _references.js file has to be touched to rebuild the JS information. Since there are so many Kendo JS files, it just bogs this process down.

    http://madskristensen.net/post/the-story-behind-_referencesjs 

    To speed things up on our end, we removed the _references.js from the project before running the Kendo update. Then when the update was complete, we added the file back into the project.

    I also think you can turn off the autosync at the top of this file before starting the updates. (There is a right click context menu item to turn it off and on too)

    <autosync enabled="false" />

    Hope this helps. Maybe the Kendo updater can figure out how to turn this file off during update, and refresh it when its done. 

  6. Ventsi
    Admin
    Ventsi avatar
    46 posts

    Posted 08 Jan 2016 Link to this post

    Hello Brick,

    Thank you for the detailed idea on how to speed up the upgrade process. We highly appreciate every feedback that would help us improve our products.

    Regards,
    Ventsi
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  7. Stephen
    Stephen avatar
    90 posts
    Member since:
    Jan 2011

    Posted 03 Mar 2016 Link to this post

    My upgrade(one kendo project, but multiple projects in solution) has been running almost 3 hours now and it just finished adding the new Content\kendo folder but hasn't yet deleted the old folder. I really don't know what it is doing now.  You can watch the folder on disk as each file is s.l.o.w.l.y. added one by one.

    The Script folder is thankfully done.

    The project *is* connected to TFS which I am willing to blame. "TFS Power Tool Extension" process chugging along.

    i7, 16Gig, SSD, so it isn't a resource issue.

     

  8. Stephen
    Stephen avatar
    90 posts
    Member since:
    Jan 2011

    Posted 03 Mar 2016 Link to this post

    So I did some experimenting and maybe it will help others.

     

    I killed my upgrade after 3 hours and refreshed from TFS to get back to clean state.

    _references.js MUST have auto-sync disabled...learned that last upgrade.  You can turn it on again and re-sync after the upgrade is done.

    Then I manually removed the Content\kendo folder from my project.  This took over 10 minutes just for this step.

    I then found this: https://www.cloudconstruct.com/blog/slow-file-management-in-visual-studio-connected-to-team-foundation-services.

    I had 8 workspaces mapped.  I unmapped 5 of them.  I did not restart VS.

    I then manually removed the Scripts\kendo folder from my project.  This took seconds!

    I reverted everything back again and re-ran the kendo upgrade wizard.  This time it finished completely in 15 minutes instead of still running after 3 hours.  Presumably it would have been quicker if I had unmapped all workspaces except my current one.

     

    So, if you use TFS, you MUST turn off _references.js auto-sync and, more importantly, unmap any "unused" TFS workspaces before doing any mass file updates to your solution, either manually or via the kendo upgrade wizard.

     

  9. Ventsi
    Admin
    Ventsi avatar
    46 posts

    Posted 07 Mar 2016 Link to this post

    Hi Stephen,

    Thank you for your feedback. I believe many users would find this information and discoveries helpful.

    In addition, the disabling of the _references.js auto-sync is logged in our backlog and will be taken into consideration as soon as possible.

    Your cooperation and willing to help in improving the upgrade process is highly appreciated.

    Regards,
    Ventsi
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  10. Adrian
    Adrian avatar
    2 posts
    Member since:
    Nov 2015

    Posted 16 Jun 2016 Link to this post

    The upgrade is still extremely slow.

    I have a Core i7-6700k with 4.4 Mhz, 32 GB RAM, with the project located on a RAMDisk and the Telerik Platform on an SSD, there is no Teamsystem and the upgrade still took over one hour. Only one project had to be updated in my case. 

    Copying the same files by hand takes about 60 seconds, that's over 60 times faster. 

  11. Ventsi
    Admin
    Ventsi avatar
    46 posts

    Posted 17 Jun 2016 Link to this post

    Hi Adrian,

    Unfortunately, we still do not have a stable reproduction of this issue.

    In addition, the most time consuming operation is not copying the files, but adding them as part of the solution. As we have mentioned, Visual Studio API has its specifics and limitations which (combined with the high number of files) affects this process and our control over it.

    As a suggestion, did you try the solution that was mentioned in the previous posts - disabling of the _references.js auto-sync before running the upgrade process?

    Regards,
    Ventsi
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  12. Stephen
    Stephen avatar
    90 posts
    Member since:
    Jan 2011

    Posted 17 Jun 2016 in reply to Ventsi Link to this post

    I know this doesn't really help Adrian but I recently did the upgrade to 2016.2.607 and it only took 15-20 minutes as long as I did the _references.js and TFS "tweaks" first.
  13. Alex
    Alex avatar
    19 posts
    Member since:
    Nov 2011

    Posted 29 Jun 2016 Link to this post

    Wish I would've found this thread BEFORE I started the upgrade to 2016.2.607... I'm in the middle of it and it's taking forever. 
  14. Stephen
    Stephen avatar
    90 posts
    Member since:
    Jan 2011

    Posted 29 Jun 2016 in reply to Alex Link to this post

    You could kill the Visual Studio process in Task Manager, revert the changes from TFS and then re-run after the _references and unmapping tweaks.

    I've killed the process after 3 hours myself.

    Once the upgrade is done, you simply need to remap your folder in TFS and it should pick up all the changes.

     

    You can also monitor how far along the process is using Windows Explorer to look at the Kendo CSS and Script folders to see how many files it has left to copy/remove before deciding whether or not you want to kill it.

  15. Mike
    Mike avatar
    15 posts
    Member since:
    Apr 2013

    Posted 28 Nov 2016 Link to this post

    Updating from version 2015.2.902 to 2016.3.1118 using GIT as source control is taking over 90 minutes so far to update one project and the clock is still ticking.
  16. Nikolay Mishev
    Admin
    Nikolay Mishev avatar
    37 posts

    Posted 29 Nov 2016 Link to this post

    Hello Mike,

    Thank you for contacting us.

    In the latest version of the UI for ASP.NET MVC VS Extensions  the upgrade time is improved significantly, so I suggest you to upgrade the VS Extensions, you can do that from Visual Studio: Tools->Extensions and Updates->Updates. You can also disable the auto-sync of the _references.js before running the upgrade, as Ventsislav Staykov mentioned before.

    Another thing that will also quicken future upgrades is enabling CDN usage from Configure wizard - Right click on the project->Telerik UI for ASP.NET MVC->Configure project->choose theme(or leave the default)->Next->Check "Use CDN support"->Finish.

    Please let me now if the provided information helps.
     
    Regards,
    Nikolay Mishev
    Telerik by Progress
    Telerik UI for ASP.NET MVC is ready for Visual Studio 2017 RC! Learn more.
  17. Bryan
    Bryan avatar
    8 posts
    Member since:
    Jul 2014

    Posted 24 Apr 2017 Link to this post

    getting 128 errors  in kendo.bootstrap-v4.min.css after doing upgrade. please take a look at my png files and help me how can I fix these errors. :(
  18. Tsvetina
    Admin
    Tsvetina avatar
    2394 posts

    Posted 26 Apr 2017 Link to this post

    Hi Bryan,

    These errors come from JustCode and are false positives. It turns out that JustCode is unable to parse calc() expressions (see screenshot). You don't need to fix them in order for your app to work as expected.

    Regards,
    Tsvetina
    Telerik by Progress
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  19. Waz
    Waz avatar
    16 posts
    Member since:
    Aug 2007

    Posted 17 May 2018 in reply to Tsvetina Link to this post

    Hi,

     

    Using the latest 2018 Q2 and upgrading a very simple project (MVC project, 4 views, 3 controllers, nothing else).   Taken over 20 minutes (VS 2017, Kendo MVC, TFS).  This is unacceptable by any standards.   All the CSS files (100's of them) seem to be slow.

    May be contact Microsoft and ask them for a solution or a better way?

  20. Tsvetina
    Admin
    Tsvetina avatar
    2394 posts

    Posted 21 May 2018 Link to this post

    Hi Warren,

    The slow upgrade is probably related to specific limitations in the Visual Studio API which make the process of adding so many files to a project, as in the UI for ASP.NET MVC, very slow. To avoid this and speed up the upgrade process I you could switch your project to use the scripts and content files from our CDN. This is done easy with the help of the Project Configuration Wizard. Just select the Use CDN Support checkbox on the last page of the wizard.

    Another option you could consider is to use UI for ASP.NET MVC NuGet Packages. The Telerik.UI.for.AspNet.Mvc5 NuGet package will add the assembly reference and files to the project and you will need only to add(or update the existing) references to the installed files.

    Regards,
    Tsvetina
    Progress Telerik
    Try our brand new, jQuery-free Angular components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  21. Waz
    Waz avatar
    16 posts
    Member since:
    Aug 2007

    Posted 21 May 2018 in reply to Tsvetina Link to this post

    Hi,

    Thanks for the suggestions.  Unfortunately none of them really works for me.

     

    1.  CDN.  Occasionally I need to work offline (eg. airplane) and need the project to run so I can test it (without internet access).

    2.  NUGet.  Tried that... seems like the same problem.  Needs to talk to TFS every single file.  Took 45 minutes.   Also it insisted on installing query 1.9 (even though my project uses 3.3 - which is valid for Kendo).  So that made it a bit of a mess.

     

    :-(

  22. Tsvetina
    Admin
    Tsvetina avatar
    2394 posts

    Posted 23 May 2018 Link to this post

    Hi Warren,

    I did some additional research and found a report by another customer who shared that modifying the _references.js file to disable the autoSync option inside it improves the upgrade times:
    1. Open Scripts/_references.js.
    2. Modify the autoSync element to have an enabled="false" value:
    /// <autosync enabled="false" />
    3. Start up the upgrade wizard/NuGet package update.

    Hopefully this will help with the time taken the next time you upgrade your project.

    Regards,
    Tsvetina
    Progress Telerik
    Try our brand new, jQuery-free Angular components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  23. Waz
    Waz avatar
    16 posts
    Member since:
    Aug 2007

    Posted 12 Jun 2018 in reply to Tsvetina Link to this post

    I did try that but did not seem to make a difference.   The status bar show the progress and the caption on the bottom... "Telerik VS Extensions ... Copy" for each .js item etc seems to take about half a second for each one.   This seems very slow.

    The project is under source control and the TFS server is not on premises.  Can this be escalated to Microsoft VS team or something?

  24. Stephen
    Stephen avatar
    90 posts
    Member since:
    Jan 2011

    Posted 13 Jun 2018 in reply to Waz Link to this post

    I've just stopped using the upgrade wizard and do my upgrades manually now.

    Deleting the Kendo Script and Content folders manually from within VS, creating new folders and bulk copy-pasting in the files takes a couple of minutes as opposed to the hours it takes the wizard to do it one file at a time.

    You then have to update the dll reference, copy over EditorTemplates(if they have changed, which they haven't in quite a while) and tweak CSS/JS included in _Layout and BundleConfig.

  25. Nikola
    Admin
    Nikola avatar
    31 posts

    Posted 14 Jun 2018 Link to this post

    Hi Warren,

    In addition to disabling the auto-sync in the references.js file, you can disconnect the solution from source control while the upgrade is running. The other way is the manual upgrade as already mentioned. Below are detailed steps for that:

    1. Update the project's Kendo.Mvc.dll reference with the one from the new version. It's located in "[NewVersionInstallLocation]\wrappers\aspnetmvc\Binaries\[ProjectTargetMVCVersion]" folder.

    2. Update UI for ASP.NET MVC scripts by replacing the "Scripts\kendo\[OldVersion]" folder in your project with "Scripts\kendo\[NewVersion]" folder and place inside the contents of the "[NewVersionInstallLocation]\js\" directory.

    3. Update the content by replacing the "Content\kendo\[OldVersion]" folder in your project with "Content\kendo\[NewVersion]" folder and place inside the contents of the "[NewVersionInstallLocation]\styles\" directory.

    4. Update editor templates by replacing the "Views\Shared\EditorTemplates" folder in your project with the contents of the "[NewVersionInstallLocation]\wrappers\aspnetmvc\EditorTemplates\razor" directory.

    5. Finally, update the references to Kendo scripts and content at the beginning of the _Layout.cshtml file by replacing the old version in the references' path with the new one. These references point to some of the scripts and content in the folders you updated in steps 2 and 3 so the path should be updated accordingly.

    We will send feedback to Microsoft regarding the slow addition of files and we'll work together to improve the wizard behaviour. 

    Regards,
    Nikola
    Progress Telerik
    Try our brand new, jQuery-free Angular components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top