Attention: .NET Core on Linux is provided as an Early Adopter Program (EAP) feature only. It is being made available to allow you to
test and provide feedback on the new capabilities. Be aware that file locking does not work in all instances, and may cause
exceptions or the ignoring of file locks. We will continue the development of this feature and provide additional interfaces
via patch updates and future releases. Please contact
Micro Focus SupportLine if you require further clarification.
This topic looks at .NET Core and .NET Framework, summarizes their similarities and the differences between them, and gives
some guidance on when you should use one over the other.
The information presented in this topic is intended to be a summary rather than fully comprehensive. For more information
on .NET Core compared to .NET Framework see
Microsoft: .NET Core - Comparison to other .NET Implementations.
Similarities
The following list summarizes key areas in which .NET Core and .NET Framework are similar:
- NET Core contains a large subset of the .NET Framework Base Class Library (albeit with a different factoring).
- A shared API, .NET Standard, which is available on all .NET implementations.
- .NET Core and .NET Framework support Windows and Windows Server.
Differences
The following list summarizes significant areas in which .NET Core and .NET Framework are different:
.NET Core Advantages
Targeting .NET Core rather than .NET Framework offers the following advantages:
- .NET Core enables you to isolate your applications. Your applications can be completely self-contained, so don't rely on
files shared with other applications.
- Deploying an application to run on .NET Core can be as straightforward as copying the published files to the target machine.
- The fact that your .NET Core-based applications are isolated means that once they have been deployed you can make updates
to them without affecting the behavior of any other applications.
Choosing Between .NET Core and .NET Framework
Deciding whether your applications should target .NET Core or .NET Framework depends on which platform most closely meets
the requirements of your applications. The following lists outline when each platform might be most appropriate.
- Use .NET Core when:
- Using microservices, because .NET Core allows a mix of technologies, is lightweight and can be minimized for each microservice.
- Performance and scalability are vital for you. In these cases, Microsoft recommends running .NET Core with ASP.NET Core.
- You need to run applications that require different versions of .NET side-by-side.
- Use .NET Framework when:
- You need to use functionality that is not available in .NET Core. For example:
- Windows Forms and WPF applications
- ASP.NET WebForms
- WCF services
- Any .NET Framework API that is not part of .NET Standard
- You need to use functionality that is available in .NET Core but is not currently supported by
Visual COBOL. For example, the following are not currently supported:
- Deploying to macOS.
- Deploying to a Linux/Windows container running in Docker.
See
.NET Core Known Issues and Restrictions for more information.
Note: This information is only a summary.
Micro Focus recommends that before making a decision about which platform to target, you check the Microsoft website for comprehensive
information about the different platforms that are available.