# Requirements

> Reference: Target frameworks, runtime environments, and platforms supported by the OPC UA .NET SDK.

> This content was machine translated and may contain errors. [Read in German](https://www.traeger.de/docs/development/opcua/requirements)

## Target frameworks

The OPC UA .NET SDK is available for the following target frameworks. Applications on newer .NET versions use the matching target.

| Target framework | Usable in |
|---|---|
| `net472` | Applications on .NET Framework 4.7.2 and later |
| `netstandard2.0` | Applications on all platforms that support .NET Standard 2.0, for example .NET Core, .NET 5 and later, Mono, Xamarin, and Unity |
| `netcoreapp3.1` | Applications on .NET Core 3.1 and later, and on .NET 5 and later |

The SDK does not support .NET Framework versions earlier than 4.7.2. For existing applications on .NET Framework 3.5, a separate legacy build is available on the [Downloads](https://www.traeger.de/en/docs/development/opcua/downloads) page.

## Runtime environments and platforms

The SDK runs wherever a runtime environment supports one of the [target frameworks](https://www.traeger.de/en/docs/development/opcua/requirements#target-frameworks). It has been tested on Windows, Linux, and macOS, with UWP, Unity, Mono, and Xamarin, and on Android.

Some features are bound to a platform:

- **OPC Classic** (OPC DA, OPC HDA, and OPC AE) runs on Windows only and requires the [OPC Classic runtime](https://www.traeger.de/en/docs/development/opcua/downloads#opc-classic-runtime).
- **Windows service:** You can run a server application as a Windows service (class `OpcServerServiceApplication`) only with the target framework `net472`, that is, only on Windows.
- **Hardware-bound licenses**, that is, licenses bound to one computer, are available only on Windows and Linux (see [Licenses](https://www.traeger.de/en/docs/development/opcua/license)).

On Unity, the SDK stores the certificate stores in the writable data directory of the application (`Application.persistentDataPath`) by default, as long as you do not set your own paths. The [Application certificate](https://www.traeger.de/en/docs/development/opcua/client/configuration#application-certificate) section shows how to set your own paths. For notes on UWP, see the [Deploy on UWP](https://www.traeger.de/en/docs/development/opcua/client/deployment#deploy-on-uwp) section.
