.NET Core Compatibility Requirements
New announcements from Dash: Incident Management, Continuous Profiler, and more! New announcements from Dash!

.NET Core Compatibility Requirements

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

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

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 on Linux/x64 have JIT compiler bugs that can cause applications to throw exceptions when using automatic instrumentation. If your application is running on .NET Core 2.0, 2.1.0-2.1.11, or 2.2.0-2.2.5, we strongly recommend you update your .NET Core runtime. If you cannot update, you may need to set the environment variable DD_CLR_DISABLE_OPTIMIZATIONS=true to work around the issue. See DataDog/dd-trace-dotnet/issues/302 for more details.

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.

Further Reading

Additional helpful documentation, links, and articles: