.net core upgrading or extending. RRS feed

  • Question

  • Hello All,

    Currently we are using .net 4.6.2 and we are planning to upgrade to .net core.

    The current projects includes, Anjulars js, bootstrap, knowout, webservices, WebApi  perheps some other 3rd party tools.

    I was reading some where, it is recommented extend on the .net framework rather than migration.

    Can someone explain what does that mean. Why is it recommended.  And if someone can guide me to some website that gives further more direction that is easy to follow.

    i am a novice and a student

    • Moved by 宝宝徐 Thursday, August 3, 2017 1:51 AM
    Wednesday, July 12, 2017 6:29 AM


  • Hi boobyy,

    Thank you for posting in MSDN forum.

    In most cases, you still don’t need to migrate your current .NET applications like ASP.NET apps to run on .NET Core. Not just because the cost of the migration and code rewriting would be significant but also because as of today you’ll find that many of the third libraries that you are executing from .NET Framework code cannot be used from an app running on .NET Core.

    However, if you want to start taking advantage of the new capabilities provided by ASP.NET Core (see the value-props from ASP.NET Core explained earlier in this doc), you can still migrate to ASP.NET Core but running on the traditional CLR from the .NET Framework. That would allow you to reuse legacy third party .NET libraries not compatible with .NET Core while taking advantage of new web capabilities and approaches in ASP.NET Core.

    If you are developing a large enterprise application that cannot be loosely coupled and composed by isolated components or services (like with a microservice architecture approach) chances are that as soon as you need to consume libraries that are compatible only with the .NET Framework, if you are using the .NET Core runtime it’ll be a stopper as those components/libraries that you need cannot be run on the CoreCLR runtime and with a monolithic approach it is difficult to isolate components/services with a single responsibility that could be running on .NET Core.

    Note that this doesn’t mean that with .NET Core you always have to use a microservices approach and cannot build traditional architecture models (like layered or N-Tier). You can perfectly do it. The issue here is with libraries’ compatibility and allowed references per project/assembly/service.

    A feasible approach here would be to use ASP.NET Core but running it on top of the .NET Framework and the traditional CLR, so you can consume any .NET library from the framework or third party. In the future you could eliminate those dependencies so it’ll be possible to run as a pure .NET Core application. But this refactoring task with a monolithic architecture won’t be as easy as if it had a loosely coupled architecture.

    In addition, you may refer to:Choosing between .NET Core and .NET Framework for server apps

    Best Regards,

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Edited by 宝宝徐 Tuesday, July 18, 2017 10:47 AM
    • Proposed as answer by 宝宝徐 Wednesday, July 19, 2017 8:37 AM
    • Marked as answer by Dave PatrickMVP Sunday, August 6, 2017 3:17 PM
    Tuesday, July 18, 2017 10:45 AM