.NET Core Compatibility Requirements
Incident Management is now generally available! Incident Management is now generally available!

.NET Core Compatibility Requirements

Compatibility

The .NET Datadog Trace library is open source - view the Github repository for more information.

The .NET Tracer supports automatic instrumentation on .NET 5, .NET Core 3.1, and .NET Core 2.1. It also supports .NET Framework.

Note: When using both manual and automatic instrumentation, it is important to keep the MSI installer and NuGet package versions in sync.

Integrations

The .NET Tracer can instrument the following libraries automatically:

Framework or libraryNuGet packageIntegration Name
ASP.NET CoreMicrosoft.AspNetCore
Microsoft.AspNetCore.App
2.0+ and 3.0+
AspNetCore
ADO.NETSystem.Data.Common
System.Data.SqlClient 4.0+
AdoNet
HttpClient / HttpMessageHandlerSystem.Net.Http 4.0+HttpMessageHandler
WebClient / WebRequestSystem.Net.Requests 4.0+WebRequest
Redis (StackExchange client)StackExchange.Redis 1.0.187+StackExchangeRedis
Redis (ServiceStack client)ServiceStack.Redis 4.0.48+ServiceStackRedis
ElasticsearchElasticsearch.Net 5.3.0+ElasticsearchNet
MongoDBMongoDB.Driver.Core 2.1.0+MongoDb
PostgreSQLNpgsql 4.0+AdoNet

Note: The ADO.NET integration instruments calls made through the DbCommand abstract class or the IDbCommand interface, regardless of the underlying implementation. It also instruments direct calls to SqlCommand.

Don’t see your desired frameworks? Datadog is continually adding additional support. Check with the Datadog team for help.

Out of Support .NET Core versions

The .NET Tracer works on .NET Core 2.0, 2.2, and 3.0, but these versions reached their end of life and are no longer supported by Microsoft. See Microsoft’s support policy for more details. We recommend using the latest patch version of .NET Core 2.1 or 3.1. Older versions of .NET Core may encounter the following runtime issues when enabling automatic instrumentation:

IssueAffected .NET Core VersionsWorkaroundMore information
JIT Compiler bug on Linux/x642.0.x,
2.1.0-2.1.11,
2.2.0-2.2.5
Upgrade .NET Core to latest patch, or follow steps in the linked issueDataDog/dd-trace-dotnet/issues/302
Resource lookup bug with a non en-US locale2.0.0Upgrade .NET Core to 2.0.3+dotnet/runtime/issues/23938

Further Reading

Additional helpful documentation, links, and articles: