.NET Runtime and SDK

PowerServer Web APIs is a standard ASP.NET Core Web API application built with the .NET toolchain.

The following components are involved in building and running this application.

.NET Runtime

The .NET Runtime contains the components required to run a compiled .NET application.

A production server hosting PowerServer Web APIs must have a compatible .NET Runtime installed when the application is deployed using the framework-dependent deployment.

ASP.NET Core Hosting Bundle

When hosting PowerServer Web APIs behind IIS, the ASP.NET Core Hosting Bundle is required.

The Hosting Bundle includes:

  • the .NET Runtime

  • the ASP.NET Core Runtime

  • the ASP.NET Core Module used for IIS integration

These components allow IIS to correctly forward requests to the ASP.NET Core application.

.NET SDK

The .NET SDK contains the tools required to build and publish .NET applications.

It includes:

  • the compiler

  • MSBuild targets

  • the dotnet command-line interface (CLI)

The SDK is required only on development machines or build servers, not on the production server.

Installing the SDK does not remove the need for the runtime on the server where the application runs.

Managing .NET SDK version with global.json

When PowerServer generates the C# solution for the Web APIs, it automatically creates a global.json file in the solution directory.

This file specifies:

  • the .NET SDK major version used to build the project

  • the SDK roll-forward policy

This helps ensure that the solution is built using a consistent SDK version across different development machines.

PowerServer's build logic relies only on the SDK major version, so patch updates within the same major version are generally acceptable.

.NET deployment models for PowerServer Web APIs

PowerServer supports two common deployment modes.

  • Framework-dependent deployment

    • The application uses the .NET Runtime installed on the server.

    • The server must install a supported .NET Runtime or ASP.NET Core Hosting Bundle.

  • Self-contained deployment

    • The .NET Runtime is bundled with the application.

    • The server does not need to install the .NET Runtime separately.

However, when hosting the application behind IIS, the ASP.NET Core Hosting Bundle will still be required to enable IIS integration.

Checking installed versions

The following commands help verify the installed .NET environment.

  • dotnet --info
    

    Shows installed SDKs, runtimes, and environment information.

  • dotnet --list-sdks
    

    Lists installed SDK versions.

  • dotnet --list-runtimes
    

    Lists installed runtime versions.