﻿---
title: Supported technologies
description: Compatibility matrix listing the frameworks, runtimes, data access libraries, and messaging systems supported by the Elastic APM Agent for .NET, with supported version ranges and installation methods.
url: https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/supported-technologies
products:
  - APM .NET Agent
  - APM Agent
applies_to:
  - Serverless Observability projects: Generally available
  - Elastic Stack: Generally available
  - Application Performance Monitoring Agent for .NET: Generally available
---

# Supported technologies
This page details the technologies the APM Agent for .NET supports, the package or runtime versions we test, and which installation methods work for each one. Versions beyond the listed upper bound have not been tested and are not supported, but might work.
Use this page as a compatibility matrix:
1. Find the framework or library you use.
2. Check that your package or runtime version falls within the supported range.
3. Check the installation method you plan to use: Profiler, NuGet, or OpenTelemetry Bridge.
4. Read any footnotes or notes directly below that table for important limitations or setup requirements.

If you are already using OpenTelemetry, consider the [EDOT .NET SDK](https://docs-v3-preview.elastic.dev/elastic/docs-builder/docs/3400/reference/opentelemetry/edot-sdks/dotnet) for traces, metrics, and logs. It covers many of the same technologies (and more) and integrates naturally with Elastic's observability platform.

## Supported .NET runtimes

The APM Agent for .NET libraries and components target .NET Standard 2.0 or .NET Standard 2.1.
We support .NET runtimes ≤10.0.x and .NET Framework runtimes from 4.6.2 to 4.8.1 for as long as they receive active support from Microsoft per the [.NET support policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) and [.NET Framework support policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-framework). When Microsoft ends support for a runtime version, so does Elastic. Issues reported against unsupported runtimes will only be acted on if they also affect a supported runtime.
<warning>
  Native AOT is not supported. The agent relies on reflection, runtime IL emit, and embedded libraries that are incompatible with AOT compilation. Attempting to use the agent in a Native AOT-published application will fail at runtime.
</warning>

<note>
  On .NET Framework, we strongly recommend at least .NET Framework 4.7.2 because of binding issues introduced by Microsoft.
</note>


## Installation methods

Each table below shows which installation methods apply to each technology. A checkmark (✓) means the technology is supported with that installation method for the listed version range; a cross (✗) means it is not supported using that method. Where a cell shows a version qualifier such as `(≥3.7.0)`, only that narrower range is covered by that method.
<note>
  The **OpenTelemetry Bridge** column requires .NET 8+ and APM Server ≥7.16. A checkmark there means the technology is covered through the built-in OpenTelemetry Bridge, whether the agent was installed using the Profiler or a NuGet package.On .NET Framework, technologies that depend on the startup hook or the OpenTelemetry Bridge need the NuGet install method instead. If no Elastic APM NuGet package exists for that technology, such as `Elastic.Clients.Elasticsearch`, it is not supported on .NET Framework.
</note>


| Column                                                                                                                       | Meaning                                                                                                                                                                                                                                                                                                                                                          |
|------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **[Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)** | Instrumented automatically by the [Elastic APM .NET Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) with no code changes. On .NET, a startup hook loads `DiagnosticSource` subscribers and the built-in OpenTelemetry Bridge. On .NET Framework, the profiler uses IL rewriting instead. |
| **NuGet**                                                                                                                    | Install the linked integration NuGet package alongside the core `Elastic.Apm` package and add the setup call to application startup.                                                                                                                                                                                                                             |
| **OpenTelemetry Bridge**                                                                                                     | The library emits native [OpenTelemetry](https://opentelemetry.io/) spans that the agent captures through its built-in [OpenTelemetry Bridge](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge).                                                                                                           |


## Web frameworks

For supported web frameworks, the agent creates one transaction per incoming request and names it after the registered route.

| Framework                                                                                                                                | Supported versions   | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | NuGet                                                                                                     | OpenTelemetry Bridge |
|------------------------------------------------------------------------------------------------------------------------------------------|----------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|----------------------|
| ASP.NET Core<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.0</applies-to>                    | ≥8.0.0≤10.0.x        | [✓ ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)      | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-asp-net-core) | ✗                    |
| ASP.NET (.NET Framework) in IIS<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.1</applies-to> | 4.6.2–4.8.1 (IIS 10) | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-asp-dot-net)  | ✗                    |

¹ Using a startup hook on .NET.
<note>
  We support ASP.NET on IIS 10 versions supported by Microsoft per their [IIS support policy](https://learn.microsoft.com/lifecycle/products/internet-information-services-iis). IIS must be installed on a [supported](https://learn.microsoft.com/windows/release-health/windows-server-release-info#windows-server-major-versions-by-servicing-option--) Windows operating system version.The profiler does not support the Web Garden (multi-worker process) mode of IIS.
</note>


## RPC frameworks

For supported gRPC frameworks, the agent automatically captures both client-side and server-side calls.
Streaming is not supported - the agent does not create transactions or spans for streaming calls automatically.

| Framework                                                                                                                             | Supported versions | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | NuGet                                                                                                     | OpenTelemetry Bridge                                                                                                  |
|---------------------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| gRPC server (ASP.NET Core)<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.7</applies-to>   | ≥8.0.0≤10.0.x      | [✓ ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)      | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-asp-net-core) | ✗                                                                                                                     |
| gRPC client`Grpc.Net.Client`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.7</applies-to> | ≥2.23.2<3.0.0      | [✓ ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)      | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-grpc)         | [✓ (≥2.57.0)](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge) |

¹ Using a startup hook on .NET.
<note>
  `Grpc.Net.Client` ≥2.57.0 emits native OpenTelemetry spans. When using the profiler without the NuGet package, the OpenTelemetry Bridge captures them automatically. When the NuGet package is installed, the dedicated subscriber takes precedence to prevent duplicate spans.
</note>


## Data access technologies


| Data access technology                                                                                                                                                    | Supported versions | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)     | NuGet                                                                                                              | OpenTelemetry Bridge                                                                                                 |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| Azure CosmosDB`Microsoft.Azure.Cosmos`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.11</applies-to>                          | ≥3.0.0<4.0.0       | ✗                                                                                                                            | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-cosmosdb)        | ✗                                                                                                                    |
| Azure DocumentDB.Core (legacy)`Microsoft.Azure.DocumentDB.Core`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.11</applies-to> | ≥2.4.1<3.0.0       | ✗                                                                                                                            | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-cosmosdb)        | ✗                                                                                                                    |
| Azure DocumentDB (legacy)`Microsoft.Azure.DocumentDB`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.11</applies-to>           | ≥2.4.1<3.0.0       | ✗                                                                                                                            | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-cosmosdb)        | ✗                                                                                                                    |
| Elasticsearch`Elastic.Clients.Elasticsearch`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.23</applies-to>                    | ≥8.0.0<10.0.0      | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge)          |
| Elasticsearch (legacy)`Elasticsearch.Net`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.6</applies-to>                        | ≥7.6.0<8.0.0       | [✓ ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)          | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-elasticsearch)         | ✗                                                                                                                    |
| Elasticsearch (legacy)`NEST`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.6</applies-to>                                     | ≥7.6.0<8.0.0       | [✓ ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)          | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-elasticsearch)         | ✗                                                                                                                    |
| Entity Framework Core`Microsoft.EntityFrameworkCore`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.0</applies-to>             | ≥8.0.0≤10.0.x      | [✓ ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)          | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-ef-core)               | ✗                                                                                                                    |
| Entity Framework 6`EntityFramework`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.2</applies-to>                              | ≥6.2≤6.5.2         | ✗                                                                                                                            | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-ef6)                   | ✗                                                                                                                    |
| MongoDB`MongoDB.Driver`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.9</applies-to>                                          | ≥3.0.0<4.0.0       | [✓ (≥3.7.0) ³](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-mongo-db)              | [✓ (≥3.7.0)](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge) |
| MySQL`MySql.Data`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                                               | ≥6.7.0<9.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | ✗                                                                                                                    |
| Oracle`Oracle.ManagedDataAccess`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                                | ≥12.2.1100<22.0.0  | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | ✗                                                                                                                    |
| Oracle`Oracle.ManagedDataAccess.Core`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                           | ≥2.0.0<4.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | ✗                                                                                                                    |
| PostgreSQL`Npgsql`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                                              | ≥4.0.0<8.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | ✗                                                                                                                    |
| Redis`StackExchange.Redis`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.8</applies-to>                                       | ≥2.0.495<3.0.0     | ✗                                                                                                                            | [✓ ²](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-stackexchange-redis) | ✗                                                                                                                    |
| MS SQL`System.Data.SqlClient`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.0</applies-to>                                    | ≥4.0.0<5.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-sqlclient)             | ✗                                                                                                                    |
| MS SQL`Microsoft.Data.SqlClient`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.0</applies-to>                                 | ≥1.0.0<6.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-sqlclient)             | ✗                                                                                                                    |
| SQLite`Microsoft.Data.Sqlite`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                                   | ≥2.0.0<9.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | ✗                                                                                                                    |
| SQLite`System.Data.SQLite`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                                      | ≥1.0.0<3.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)            | ✗                                                                                                                  | ✗                                                                                                                    |

¹ Using a startup hook on .NET.
² Requires calling `connection.UseElasticApm()` on each `IConnectionMultiplexer` instance - see the [setup page](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-stackexchange-redis).
³ Requires the OpenTelemetry Bridge to be active. `MongoDB.Driver` ≥3.7.0 emits native OpenTelemetry spans; the profiler captures them through the bridge rather than a dedicated subscriber.
<note>
  `Microsoft.Azure.DocumentDB.Core` and `Microsoft.Azure.DocumentDB` are deprecated. The recommended replacement is the `Microsoft.Azure.Cosmos` package.`Elastic.Clients.Elasticsearch` emits native OpenTelemetry spans. The legacy (deprecated) `Elasticsearch.Net` and `NEST` clients use a `DiagnosticSource`-based subscriber instead.`MongoDB.Driver` ≥3.7.0 emits native OpenTelemetry spans. When running without the NuGet package (profiler-only install), these are captured automatically by the OpenTelemetry Bridge.
</note>


## Messaging systems


| Messaging system                                                                                                                                                 | Supported versions | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | NuGet                                                                                                         | OpenTelemetry Bridge                                                                                                  |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| Azure Service Bus`Azure.Messaging.ServiceBus`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.10</applies-to>          | ≥7.0.0<8.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-servicebus) | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge)           |
| Azure Service Bus (legacy)`Microsoft.Azure.ServiceBus`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.10</applies-to> | ≥3.0.0<6.0.0       | ✗                                                                                                                        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-servicebus) | ✗                                                                                                                     |
| Kafka`Confluent.Kafka`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                                 | ≥1.4.0<3.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | ✗                                                                                                             | [✓ using an adapter ¹](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-kafka) |
| RabbitMQ`RabbitMQ.Client`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.12</applies-to>                              | ≥3.6.9<7.0.0       | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | ✗                                                                                                             | ✗                                                                                                                     |

¹ Requires adding [`Confluent.Kafka.Extensions.Diagnostics`](https://www.nuget.org/packages/Confluent.Kafka.Extensions.Diagnostics) which wraps producers and consumers so they emit spans for the OpenTelemetry Bridge to capture. Code changes are required - see the [setup page](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-kafka).
<note>
  `Azure.Messaging.ServiceBus` emits native OpenTelemetry spans. When using the profiler without the NuGet package, the OpenTelemetry Bridge captures them automatically. When the NuGet package is installed, the dedicated subscriber takes precedence to prevent duplicate spans.The legacy `Microsoft.Azure.ServiceBus` package does not emit native OpenTelemetry spans and requires the NuGet package.
</note>


## Azure Functions

For supported Azure Functions hosting models, the agent creates one transaction per HTTP-triggered invocation.

| Hosting model                                                                                                                                                               | Supported versions | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | NuGet                                                                                                        | OpenTelemetry Bridge |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|----------------------|
| Azure Functions isolated worker`Microsoft.Azure.Functions.Worker`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.19</applies-to> | ≥2.0.0<3.0.0       | ✗                                                                                                                        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-functions) | ✗                    |
| Azure Functions in-process`Microsoft.Azure.Functions.Extensions`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.24</applies-to>  | ≥1.1.0<2.0.0       | ✗                                                                                                                        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-functions) | ✗                    |

<note>
  Only HTTP-triggered invocations are traced. To avoid unintentionally increasing Azure Functions costs on Consumption plans, system metrics are not collected.The isolated worker model requires .NET 8+. The in-process model is [deprecated by Microsoft](https://learn.microsoft.com/en-us/azure/azure-functions/migrate-dotnet-in-process-to-isolated) - new apps should use the isolated worker model.
</note>


## Azure Storage


| Storage service                                                                                                                                                | Supported versions | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | NuGet                                                                                                      | OpenTelemetry Bridge                                                                                        |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
| Azure Blob Storage`Azure.Storage.Blobs`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.10</applies-to>              | ≥12.8.0<13.0.0     | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-storage) | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge) |
| Azure Queue Storage`Azure.Storage.Queues`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.10</applies-to>            | ≥12.6.0<13.0.0     | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-storage) | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge) |
| Azure File Share Storage`Azure.Storage.Files.Shares`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.10</applies-to> | ≥12.6.0<13.0.0     | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-azure-storage) | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/opentelemetry-bridge) |

<note>
  Azure Storage SDKs emit native OpenTelemetry spans. When using the profiler without the NuGet package, the OpenTelemetry Bridge captures them automatically. When the NuGet package is installed, the dedicated subscriber takes precedence to prevent duplicate spans.
</note>


## Networking client-side technologies

For supported networking client-side technologies, the agent creates an HTTP span for each outgoing request and propagates tracing headers automatically.

| Framework                                                                                                                                          | Supported versions | [Profiler](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation) | NuGet                                                                                  | OpenTelemetry Bridge |
|----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|----------------------|
| HttpClient`System.Net.Http.HttpClient`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.0</applies-to>    | *built-in (.NET)*  | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/public-api#setup-http) | ✗                    |
| HttpWebRequest`System.Net.HttpWebRequest`<applies-to>Application Performance Monitoring Agent for .NET: Generally available since 1.1</applies-to> | *built-in (.NET)*  | [✓](https://www.elastic.co/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/setup-auto-instrumentation)        | [✓](/elastic/docs-builder/docs/3400/reference/apm/agents/dotnet/public-api#setup-http) | ✗                    |