PCL no longer a viable solution...

I realize I'm venting and probably won't get any "answers", but why did I learn how to use a portable class library in xamarin university but now I can't even set one up in VS 15.5.2? Really? Thank you so much for wasting my time! And why get rid of something that so many people use?

Posts

  • ShantimohanElchuriShantimohanElchuri USMember ✭✭✭✭✭

    @DanNordquist said:
    I realize I'm venting and probably won't get any "answers",

    You already realized that...Yes, it has fallen on us like the bolt from sky...and we are are all in Nova's Ark...I suppose...Unfortunatley... We should have been primed on this... Of course Xamarin blogs were talking about it for the past 1+ year but never had the inkling that PCL will be replace.

    but why did I learn how to use a portable class library in xamarin university but now I can't even set one up in VS 15.5.2? Really? Thank you so much for wasting my time! And why get rid of something that so many people use?

    Here is some info on the Guides section of Xamarin.com.

    In this it is quoted that:

    You can think of it as a simplified, next generation of Portable Class Library.

    So that confirms what @JoeManke said above.

    I also have bookmarked this article but yet to go through it. Hope this helps.

    I couldn't find any Lightning or Guest lectures at Xamarin University on this subject. But there are plenty of blog posts.

    Now even I have to go through them and resolve myself.

    Good Luck to you and to me as well.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    why did I learn how to use a portable class library in xamarin university but now I can't even set one up in VS 15.5.2? Really?

    For the same reason most of us learned...

    • BASIC
    • Assembly language
    • COBOL
    • C
    • C++
    • CSharp/MFC
    • CSharp/WinForms
    • CSharp/WPF
    • CSharp/Xamarin - PCL
    • CSharp/Xamarin - .NET Standard

    Because life and development is a moving target that is always changing. Accept it or change careers. By the time you get really good at .NET Standard it will be the "old way" and some other new better way will come out. That's just the life of a developer. If you want to learn one thing one time and be done with learning... Maybe cooking. Or truck driving.

  • ShantimohanElchuriShantimohanElchuri USMember ✭✭✭✭✭

    @ClintStLaurent said:

    why did I learn how to use a portable class library in xamarin university but now I can't even set one up in VS 15.5.2? Really?

    For the same reason most of us learned...

    • BASIC
    • Assembly language
    • COBOL
    • C
    • C++
    • CSharp/MFC
    • CSharp/WinForms
    • CSharp/WPF
    • CSharp/Xamarin - PCL
    • CSharp/Xamarin - .NET Standard

    Because life and development is a moving target that is always changing. Accept it or change careers. By the time you get really good at .NET Standard it will be the "old way" and some other new better way will come out. That's just the life of a developer. If you want to learn one thing one time and be done with learning... Maybe cooking. Or truck driving.

    Replace COBOL with FORTRAN, in my life... :wink:

  • DanNordquistDanNordquist USMember ✭✭

    As I said, I was really just venting... but thanks for the comments!

  • DanNordquistDanNordquist USMember ✭✭

    @JoeManke it's better? LOL

    How about embedding images with IServiceProvider???

    And don't tell me to install system.ComponentModel...

    Installing system.ComponentModel v4.3.0 broke everything... had to uninstall it. Now I can run my app without error as long as I don't try to embed images.

    Has anyone found a resolution to this?

    I can't use embedded images in a .net standard without IServiceProvider and since Microsoft is killing off PCL we HAVE to move to .net standard.

    Any ideas anyone?

  • DougManDougMan Member

    I am not affiliated with Microsoft so I can chip in.

    My experience has been that Microsoft does not truly "kill" anything off, because that would blow backwards compatibility, so...

    You now cannot START a new PCL project in Visual Studio, but...

    You can still EDIT and work with a current PCL project in Visual Studio. I have two little apps in the app store, and am working on two others, all with PCL projects. They still compile and work properly with Visual Studio 15.5.2, I just cannot add a NEW PCL project.

    So...You might try finding a simple PCL project and adding it in to your new solution and renaming and changing as desired to accomplish what you really wanted to do.

    Just a thought.

  • DanNordquistDanNordquist USMember ✭✭

    Thanks @DougMan I already have a PCL app on the app stores as well, but I'm writing a new app and trying to use .net standard instead, to learn how to use .net standard. PCL is so easy and there are so many NuGet add-ons for PCL, but since we will have to move to .net standard I figure I might as well start now.

  • ShantimohanElchuriShantimohanElchuri USMember ✭✭✭✭✭

    Just found out yesterday that "BoxView" and "Rectangle" don't work in .NET Standard. No errors while writing XAML but errors on running.

    Similarly it appears the Windows Mobile emulators are now shown in a browser...

  • DanNordquistDanNordquist USMember ✭✭

    Thanks @ShantimohanElchuri Nice to know...

    I've decided to give Microsoft more time to get .net standard working well enough to use. I'm sticking to PCL for now. Once they get all the bugs worked out and add functionality so it's a more viable solution I'll try switching again.

  • ShantimohanElchuriShantimohanElchuri USMember ✭✭✭✭✭

    @DanNordquist said:
    Thanks @ShantimohanElchuri Nice to know...

    ... I'm sticking to PCL for now. ...

    The problem is you can't create a new PCL project. Old ones no problem.

    But as per this blog post, you can just copy PCL code into a .NET Standard project. Watch the video walkthrough. If there are any incompatible NuGet packages then try after installing Microsoft.NETCore.Portable.Compatibility NuGet package.

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    This isn't my area of expertise, but in case it's useful, it appears the portable class library template is still available for the moment in Visual Studio 2017 version 15.5.2 if you use the search box in the new project dialog to search for it, for example as "class library portable".

    The description indicates that the project type is deprecated:

    Class Library (Legacy Portable)

    This project type has been deprecated. You should use Class Library (.NET Standard) instead.

    I believe it is strongly recommended to use .NET Standard at this time if possible, but that "legacy" template still created a project that worked for my simple tests, so that could be a temporary option for any users who aren't quite ready to migrate to .NET Standard.

  • DanNordquistDanNordquist USMember ✭✭

    Yes, copying an old PCL and replacing code is a great way to use PCL for new projects. I also found that I can create the solution in VS on my MAC where I get the opportunity to create a PCL project in my solution, then copy down to my PC and I'm good to go.

    Of course Microsoft wants us to use .net standard so we can finish the beta testing process for them. But I'm not interested in beta testing any more. I want to use fully functioning apps and workflows so I can actually spend my time writing code instead of spending hours troubleshooting issues with the new .net standard bugs.

  • BruceFullwoodBruceFullwood USMember ✭✭

    Guys, when you have a whole collection of applications that use third-party PCL libraries and you get rid of PCL . . . you disallow the use of those libraries. For example, I can't install XLabs in my new .NET Standard project. It fails to install and I have no intention of hunting down why.

    Will .NET Standard work with Telerik controls? I have no idea because I'm abandoning .NET Standard and going back to PCL, but I am being warned about it:

    Package 'Telerik.UI.for.Xamarin 2017.3.1214.2' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.

    Guys, I'm all for progress and updating stuff, but when you break things . . . let's just say you're not making many friends out here.

  • Bruce is correct, I built a semester of curriculum for my students based on the availability of Nuget packages that target PCL. Most of the 3rd party libraries I currently use do not support NetStandard. Xamarin is a very handy product to use when everything works but so often updates break everything and suddenly you have a non functional solution on your hands.

Sign In or Register to comment.