.NET Core Compatibility Requirements

.NET Core Compatibility Requirements

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。

Compatibility

  • The .NET Tracer supports all .NET-based languages (for example, C#, F#, Visual Basic).

  • The .NET Tracer supports instrumentation on:

    • .NET 5
    • .NET Core 3.1
    • .NET Core 2.1
  • .NET Tracer supports the following processor architectures

    • Windows x86 (win-x86)
    • Windows x64 (win-x64)
    • Linux x64 (linux-x64)
    • Alpine Linux x64 (linux-musl-x64)
    • Linux ARM64 (linux-arm64) Added in version 1.27.0, automatic instrumentation only supported on .NET 5.
  • The .NET Tracer library for Datadog is open-source. For more information see the tracer Github repository.

Notes:
  • Datadog automatic instrumentation relies on the .NET CLR Profiling API. This API allows only one subscriber (for example, APM). To ensure maximum visibility, run only one APM solution within your application environment.
  • If you are using both automatic and custom instrumentation, it is important to keep the package versions (for example, MSI and NuGet) 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
RabbitMQRabbitMQ.Client 3.6.9+RabbitMQ
Service Fabric RemotingMicrosoft.ServiceFabric.Services.Remoting 4.0.470+ServiceRemoting
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 VersionsSolutionMore 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 the latest patch version, 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 or abovedotnet/runtime/issues/23938

Further reading