Can I add a reference to a .NET Framework DLL from a .NET 5 project?

后端 未结 3 1929
南方客
南方客 2021-01-18 05:08

Microsoft recently announced at Build 2019 that the next major version of .NET will unify both .NET Core 3.* and .NET Framework 4.* into a single .NET platform, which the ma

相关标签:
3条回答
  • 2021-01-18 05:52

    Since.Net don't have all functionalities as .net classic did. You can any DLL from classic to a newer version, infant I've also used libraries from VB in C# and vice versa.

    There is one problem though, as long as libraries don't call any unsupported API or APIs that have ended support or have been closed will be a problem.

    0 讨论(0)
  • 2021-01-18 06:01

    It will be the same as today: you will be able to reference .NET Standard libraries. .NET 5 does not contain everything of the classic framework, therefore it won't be possible to reference a .NET 4.x assembly directly. Therefore start to write libraries in .NET Standard.

    However in .NET Core 2.0 Microsoft implemented the compatibility shim that allows type forwarding of missing tpyes in old assemblies to the new type. As long as your library does not use any classes that are not supported by .NET 5, you're safe.

    See this post or this for more information.

    0 讨论(0)
  • 2021-01-18 06:01

    .NET 5 will have the same compatilbity layer that .NET Core currently has.

    This allows you to reference .NET Framework DLLs with the caveat that the DLL may not load or execute at runtime. If it is a logic library, it may work well. Not su much if it relieves on e.g. System.Web. This is especially useful for 3rd party libraries which you don't have the source code for. You can use the The .NET Portability Analyzer to check for any use of unsupported APIs in such libraries.

    That being said, you should try to change your existing .NET Framework libraries to .NET Standard or multi-target to bot .NET Framework and .NET Standard.

    0 讨论(0)
提交回复
热议问题