Who is this for?
This is an advanced topic for .NET developers who want to take advantage of the performance and cost benefits of Azure Cobalt processors.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build and run a basic OrchardCore CMS application
- Integrate a simple C shared library into a .NET application
- Configure architecture-agnostic builds using AnyCPU
- Evaluate the performance of different .NET versions
Prerequisites
Before starting, you will need the following:
- A Microsoft Azure account with permissions to deploy virtual machines (VMs)
- .NET SDK 8.0 or later
- Basic knowledge of C and C#
- GCC installed (Linux) or access to a cross-compiler
- OrchardCore application created using the .NET CLI or Visual Studio
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll migrate a .NET OrchardCore CMS application to an Azure Cobalt 100 Arm-based VM. You’ll provision Ubuntu 24.04, build and run the application, add a native C component that C# calls through
DllImport, and configure an architecture-agnostic AnyCPU build for Arm and x86. You’ll then review .NET version choices and confirm the expected native output.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Open port
8080 to the internet as part of the VM setup. After starting the app, connect to the VM’s public IP on port 8080.The
gcc command produces a shared object named libmylib.so. This is the library the C# code will load.Call the function via
DllImport and check the application’s console output for Hello from the C library!. Seeing that line confirms that the native call executed.Use .NET’s
AnyCPU configuration. It provides an architecture-agnostic managed build that runs on both architectures..NET 8 is the current Long-Term Support (LTS) version until Nov 2026, .NET 9 is the Short-Term Support (STS) version until Nov 2026, and .NET 10 is the next LTS in preview. .NET versions 3.1, 5, 6, and 7 have reached End-of-Life (EOL).