This is a migrated thread and some comments may be shown as answers.

Telerik MVC Upgrade Wizard

6 Answers 113 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
David
Top achievements
Rank 1
Veteran
David asked on 21 Jun 2017, 07:04 PM

I just upgraded from 2017.2.504 to 2017.2.621.  As of this update I can not seem to get any project to upgrade.  I get 100% failure no matter how complex or simple the solution.

Does anyone have an actual solution which is upgrade capable via the "normal" upgrade wizard?  I know the Telerik folks deliver great products however this might be simply something I am not doing or doing incorrectly.

As I am now getting 100% failures, I visited the documentation site and actually walked through things step by step.  I noticed the existence of the "Compatibility" button.  While that looks like a wonderful option, I now get the error "There is missing resource for comparing versions: 2017.2.504 and 2017.2.621 for technology ASP.NET MVC." once it is used.  This error is consistent among all the projects I have attempted.

NOTE: I define a failure to upgrade to mean any upgrade that never completes (after waiting 20 minutes) or produces a "the task stopped working" message.  In these cases I undid all source code changes, re-retrieved a fresh copy of everything from TFS and re-tried things.

My review of the TELERIK install shows I do in fact have the requisite 2017.2.621 files however the project in question does not have them copied to it yet as that is what the upgrade wizard is supposed to do.

If it is of importance the projects in question are all .NET 4.6.1.

NOTE: My asp.net/Ajax wizards work without issue.  The problem seems to be MVC based.

6 Answers, 1 is accepted

Sort by
0
Konstantin Dikov
Telerik team
answered on 26 Jun 2017, 07:07 AM
Hi David,

We will have to test the scenario locally to see if we can replicate the issue. Meanwhile, could you please ensure that the folder with the project is not Read Only.

Looking forward to your reply.
 

Regards,
Konstantin Dikov
Progress Telerik
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.
0
David
Top achievements
Rank 1
Veteran
answered on 26 Jun 2017, 02:39 PM

First, thank you for your response.  I am somewhat at a loss on how to interpret your response however.  The project itself is source code controlled so the odds are that a large percentage of the project is in read only status.   I.E., if I do not have a particular file in edit status it would by definition be "read only".  The folder that the solution exists is not read only however several of its sub folders are.  The simplest of my projects started out as a Terlerik MVC Web Application.  It was then modified (adding / removing controllers and views).  That all occurred two to three revisions ago and had been upgraded several times in the past.  The solution in question consists of a MVC web application, a standard DLL class (data layer), and  Telerik Reports library (standard DLL library).  Previously I would right click on the MVC Web application, select Upgrade and it would be off to the races and upgrade things.  I would then need to upgrade the Reports portion afterwards.  That has historically worked.  I now get failures.

Are you asking me to produce  a "test" case scenario?  I would find that impossible as any fresh app I create will use the current DLL's and thus would not require upgrading.

 

0
David
Top achievements
Rank 1
Veteran
answered on 26 Jun 2017, 04:47 PM

Further update:  I have no clue why this worked.  I completely uninstalled everything TELERIK.  That is I literally used control panel, uninstalled everything.  I then went to add/remove programs and removed anything with TELERIK as the publisher.  I then removed the C:\program files(x86)\Telerik folder.  I rebooted.  I then installed Telerik again directly from  the downloads folder.  

Upon loading a prior project I was then able to perform an upgrade.  Based upon this, I am now proceeding on to additional projects to confirm the viability of this solution.

0
Fred
Top achievements
Rank 1
answered on 27 Jun 2017, 02:05 PM

I encountered an error when I clicked the green "Compatibility" button while trying to upgrade our Telerik ASP.Net MVC controls from 2017.2.504 to 2017.2.621.

The error was a pop-up that suggested that the Telerik compatibility program had stopped working with choices of "Debug Program" or "Close Program". I chose "Close Program".

Next, I launched the Upgrade Wizard from inside Visual Studio 2017 (15.2.26530.14) and remembered to not "step on the land mine" (the green Compatibility button) and just let the upgrade wizard run (for about 20 minutes - takes a long time, but it eventually finishes).  It would be nice if there was some kind of progress indicator (even if just emitting to the Output window) to know when it is done.  The only way I have found to determine the process is over is when my cursor stops blinking intermittently.

Preliminary testing seems to indicate that the application survived the upgrade process.

TIP: One this I find useful is to use a string constant when building our bundles in BundleConfig.cs

            // *** MAKE SURE THE NEXT LINE AND THE ONE IN _Layout.cshtml ARE THE SAME ***
            const string kendoDir = "kendo/2017.2.621";

            bundles.Add(new StyleBundle("~/Content/css").Include(
                                 "~/Content/bootstrap.css",
                                 "~/Content/site.css"));

            bundles.Add(new StyleBundle($"~/Content/{kendoDir}/css").Include(
                $"~/Content/{kendoDir}/kendo.common-bootstrap.min.css",
                $"~/Content/{kendoDir}/kendo.bootstrap.min.css"));

            bundles.Add(new ScriptBundle("~/bundles/kendo").Include(
                $"~/Scripts/{kendoDir}/kendo.all.min.js",
                $"~/Scripts/{kendoDir}/kendo.aspnetmvc.min.js",
                $"~/Scripts/{kendoDir}/jszip.min.js"));

0
David
Top achievements
Rank 1
Veteran
answered on 27 Jun 2017, 02:17 PM

I can now attest the upgrade process works, now that I have re-installed everything.  A larger project I have took 53 minutes to upgrade and seemed to exhibit a huge memory leak.  I noticed the project consume 2.5 GB of memory during the upgrade process.  Upon completion the memory was reclaimed however it obviously is doing something to consume memory.  Given we are operating within the realms of 32 bits I was forced to close down other 32 bit apps so that I did not encounter a "out of memory" error due to running out of 32 bit space.

 

Fred, why are you using the constant?  It seems to suggest that using your method allows you to change one or two places rather than a ton of items.  That looks like a nice option.  Can you point me to the source of this knowledge or did you get it by trial and error?  My level of knowledge on bundling seems to be quite sparse as it seems to be poorly documented.

0
Fred
Top achievements
Rank 1
answered on 27 Jun 2017, 02:59 PM

When I look at Telerik's advice on how to code BundleConfig.cs at http://docs.telerik.com/aspnet-mvc/getting-started/fundamentals#css-bundling, I notice that in addition to the part about "Incorrect Approach", the have two slightly different "Correct Approaches".

I looked at the second "Correct Approach" and saw that they hard-coded the version number:

bundles.Add(new StyleBundle("~/Content/kendo/...VERSION.../css").Include("~/Content/kendo/...VERSION.../kendo.common.min.css","~/Content/kendo/...VERSION.../kendo.default.min.css"));

Since C# now has "string interpolation" (replaces string.format and closely aligns with EcmaScript string interploation in TypeScript/JavaScript), I simply used C# string interpolation to achieve the so-called "Correct Approach" way of writing BundleConfig.cs.

I also did a similar thing in _Layout.cshtml:

    @{
        const string kendoDir = "kendo/2017.2.621";
    }
    
    @Styles.Render("~/Content/css")
    @Styles.Render($"~/Content/{kendoDir}/css")

This means, during the recent upgrade from 2017.2.504 to 2017.2.621, I simply changed the two "const" values, one in BundleConfig.cs and the other in _Layout.cshtml and I was ready to start testing.

Tags
General Discussions
Asked by
David
Top achievements
Rank 1
Veteran
Answers by
Konstantin Dikov
Telerik team
David
Top achievements
Rank 1
Veteran
Fred
Top achievements
Rank 1
Share this question
or