Chapter 4. Publishing applications with .NET 7.0
.NET 7.0 applications can be published to use a shared system-wide version of .NET or to include .NET.
The following methods exist for publishing .NET 7.0 applications:
- Single-file application - The application is self-contained and can be deployed as a single executable with all dependent files contained in a single binary.
- Framework-dependent deployment (FDD) - The application uses a shared system-wide version of .NET.
When publishing an application for RHEL, Red Hat recommends using FDD, because it ensures that the application is using an up-to-date version of .NET, built by Red Hat, that uses a set of native dependencies.
- Self-contained deployment (SCD) - The application includes .NET. This method uses a runtime built by Microsoft.
SCD is not available on IBM Z, IBM LinuxONE, and IBM Power.
Prerequisites
Existing .NET application.
For more information on how to create a .NET application, see Creating an application using .NET.
4.1. Publishing .NET applications
The following procedure outlines how to publish a framework-dependent application.
Procedure
Publish the framework-dependent application:
$ dotnet publish my-app -f net7.0 -c Release
Replace my-app with the name of the application you want to publish.
Optional: If the application is for RHEL only, trim out the dependencies needed for other platforms:
$ dotnet publish my-app -f net7.0 -c Release -r rhel.9-architecture --self-contained false
Replace architecture based on the platform you are using:
-
For Intel:
x64
-
For IBM Z and LinuxONE:
s390x
-
For 64-bit Arm:
arm64
-
For IBM Power:
ppc64le
-
For Intel: