Upgrading packages, PCLs to .NET Standard, and my version of Xamarin Forms - best way to do this?

UnreachableCodeUnreachableCode ✭✭✭USMember ✭✭✭

A bit of background on myself. I am an experienced Xamarin developer (largely native, but my knowledge coupled with understanding WPF has made Xamarin Forms pretty straightforward so far).

As for my the main reason for my post. I have a very large project (solution?) made up of many PCLs. The projects all use Xamarin Forms 2.4.0.74863. And the packages that the project depends on, including Telerik for some UI components, are all fairly outdated now. I've already noticed I'm having to make a lot of smelly hacks just to get some aspects of Xamarin Forms to work. But above all, I've read that leaving projects as PCLs is a very bad idea.

My first thought was to upgrade Xamarin Forms on my projects. This doesn't work straight to XF 3. I have managed to upgrade to 2.5.1.527436, but even doing this required upgrading my Visual Studio from 15.6.7 to 15.7.2. I plan to check in these changes after some thorough testing, as they're the only way I'm even able to use VS 15.7.2. (So I have a circular sort of issue, in a sense).

So, I think, my question is this:** How do I, instead of introducing a massive set of changes in my project, instead implement slightly less massive changes, by handling these things 1 at a time. That is, what order should I prioritise these tasks**?

My gut feeling is that I first need to upgrade to .NET Standard so that I can be done with PCL, above all else. In a previous job, 2 years ago when .NET Standard just became available, this wasn't even possible as there still wasn't a lot of support for .NET Standard. My hope is that this has hopefully come a long way since then. I plan to use this guide https://xamarinhelp.com/upgrade-pcl-net-standard-class-library/. But how can I really be sure that everything works? Keep in mind I have nearly 20 projects to upgrade.

From there, I would then take care of upgrading to Xamarin Forms 3 (whatever the latest stable version is) and then upgrade my packages to their latest stable versions.

Are there any pitfalls to the approach I've mentioned? I'm the only developer in my Xamarin team, so I'm trying to be quite cautious with this upgrade. And already, I've been through a lot of headaches of trying to get Xamarin Forms upgraded. So I'm a little paranoid.

I'd really appreciate any guidance/war stories on this.

Posts

  • David_GonzalezDavid_Gonzalez ✭✭ ESMember ✭✭

    Hi @CharlieFinlayson.3926 recently i have to migrate a few projects with pcl to NET Standard i tried methods like this https://xamarinhelp.com/upgrade-pcl-net-standard-class-library/ and so , but didnt end very well so i do it all manually i know is a headache...
    After migrate your project to Net Standard you can try Xamarin 3.0 ive just implemented in one project and runs fine .

  • JoeMankeJoeManke ✭✭✭✭✭ USMember ✭✭✭✭✭

    Definitely move from PCLs to .NET Standard first. Your current version of Xamarin.Forms 2.4.0 is already compatible with .NET Standard so you can make that change without having to also mess with your Forms version. My team jumped straight from PCLs to .NET Standard 2.0 without too much headache.

Sign In or Register to comment.