How to Create a Self Contained Dotnet Application or a Framework Independent App Using .NET SDK CLI
by xanthium-enterprises in Circuits > Software
508 Views, 1 Favorites, 0 Comments
How to Create a Self Contained Dotnet Application or a Framework Independent App Using .NET SDK CLI
In this instructable,
We will learn How to build a self-contained dotnet (.NET) application from your source code using the .NET SDK CLI command line tools.
Another term often used interchangeably with "self-contained .NET application" is "deployable .NET application" or a " framework independent" application. Both terms refer to an application that includes all necessary components, including the .NET runtime and dependencies
If you are new to the .NET SDK CLI ,Please do check our tutorial on How to use .NET SDK to develop self contained applications on Windows and Linux.
We also have a video on building and publishing software using .NET SDK CLI tools for Absolute beginners on our channel
Supplies
For the software Development,
You have to download
1) .NET SDK CLI tools from Microsoft Website
2) Text Editor like Sublime text
What Is a .NET Self Contained Application
A self-contained .NET application or a framework independent dotnet application bundles all necessary components, including the .NET runtime and dependencies, with the application itself, enabling it to run independently on target systems without relying on a pre-installed .NET framework.
This approach simplifies deployment, ensuring users can execute the application without additional setup. It guarantees consistent execution environments across different systems and enhances compatibility, as the application can run on systems with varying .NET framework versions or without .NET installed.
Self-contained applications are isolated from the system's global .NET installation. This means that any updates or changes to the system's .NET framework won't affect the application's behavior.
One Issue with packaging the .NET runtime and dependencies with the application increases the overall size of the application package, which can result in longer download times and increased disk space usage.
Difference Between Self -contained .NET App and Framework Dependent App
The difference between a self-contained .NET application and a framework-dependent .NET application lies in how they handle dependencies, particularly the .NET runtime.
A self-contained application includes all necessary components, such as the .NET runtime and dependencies, bundled together with the application itself. This enables it to run independently on target systems without relying on a pre-installed .NET framework, simplifying deployment and ensuring consistent execution environments.
A framework-dependent application relies on the presence of a compatible .NET framework already installed on the target system for execution. It does not include the .NET runtime with the application package, requiring users to install the framework separately. This approach may introduce dependencies on specific framework versions and compatibility concerns across different systems.
The decision to use either a self-contained .NET application or a framework-dependent .NET application depends on factors such as deployment requirements, target environments, and trade-offs acceptable to the application's stakeholders.
Self-contained applications simplify deployment by bundling all dependencies with the application itself, ensuring consistent execution environments and easing deployment, particularly in scenarios where the .NET framework may not be readily available. However, they may incur larger file sizes and longer deployment times. Framework-dependent applications rely on the presence of a compatible .NET framework already installed on the target system, potentially reducing file sizes and deployment times but introducing dependencies and compatibility concerns.
Creating a Self -contained .NET App Using .NET SDK CLI
Creating a self-contained .NET application using the .NET SDK CLI involves a the following steps,
First navigate toyour Project directory using terminal commands
Use the dotnet publish command to publish your dotnet application, specifying the desired runtime identifier (RID) for the target platform.
For example
dotnet publish -c Release -r <runtime_identifier>
Replace <runtime_identifier> with the appropriate runtime identifier for your target platform.
like win-x86 or win-x64
If you have multiple libraries and references creating a self containing app will become complex so do refer this tutorial