diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml
index 406be841884..c15efde5613 100644
--- a/.github/workflows/Component.BuildTest.yml
+++ b/.github/workflows/Component.BuildTest.yml
@@ -24,7 +24,7 @@ on:
required: false
type: string
tfm-list:
- default: '[ "net462", "net8.0", "net9.0" ]'
+ default: '[ "net462", "net8.0", "net9.0", "net10.0" ]'
required: false
type: string
@@ -45,9 +45,9 @@ jobs:
- os: ubuntu-22.04-arm
version: net462
- os: ubuntu-22.04-arm
- version: net8.0
+ version: net10.0
- os: windows-11-arm
- version: net8.0
+ version: net10.0
runs-on: ${{ matrix.os }}
timeout-minutes: 30
@@ -64,6 +64,7 @@ jobs:
with:
dotnet-version: |
8.0.x
+ 9.0.x
- name: Setup .NET
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3110eef0cc6..3e3fe95abb0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -121,7 +121,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- version: [ net8.0, net9.0 ]
+ version: [ net8.0, net9.0, net10.0 ]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run OTLP Exporter docker compose
@@ -139,7 +139,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- version: [ net8.0, net9.0 ]
+ version: [ net8.0, net9.0, net10.0 ]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run W3C Trace Context docker compose
diff --git a/.github/workflows/concurrency-tests.yml b/.github/workflows/concurrency-tests.yml
index ae1e64bfcf9..7b5c83cabe0 100644
--- a/.github/workflows/concurrency-tests.yml
+++ b/.github/workflows/concurrency-tests.yml
@@ -15,7 +15,7 @@ jobs:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
os: [ windows-latest, ubuntu-22.04 ]
- version: [ net8.0 ]
+ version: [ net8.0, net10.0 ]
project: [ OpenTelemetry.Tests, OpenTelemetry.Api.Tests ]
runs-on: ${{ matrix.os }}
diff --git a/.github/workflows/verifyaotcompat.yml b/.github/workflows/verifyaotcompat.yml
index affabafaf72..bf68df8b44d 100644
--- a/.github/workflows/verifyaotcompat.yml
+++ b/.github/workflows/verifyaotcompat.yml
@@ -15,7 +15,7 @@ jobs:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
os: [ ubuntu-22.04, windows-latest ]
- version: [ net8.0, net9.0 ]
+ version: [ net8.0, net9.0, net10.0 ]
runs-on: ${{ matrix.os }}
steps:
diff --git a/Directory.Packages.props b/Directory.Packages.props
index bcb4124bbb2..1fb5fbe1913 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -30,6 +30,12 @@
+
+
+
+
+
+
-
+
- net9.0;net8.0;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)
- net9.0;net8.0;netstandard2.1;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)
- net9.0;net8.0
- net8.0;netstandard2.1;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)
+ net10.0;net9.0;net8.0;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)
+ net10.0;net9.0;net8.0;netstandard2.1;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)
+ net10.0;net9.0;net8.0
+ netstandard2.1;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)
- net9.0;net8.0
- net9.0;net8.0
- net9.0;net8.0
+ net10.0;net9.0;net8.0
+ net10.0;net9.0;net8.0
+ net10.0;net9.0;net8.0
$(TargetFrameworksForDocs);$(NetFrameworkSupportedVersions)
- net9.0;net8.0
+ net10.0;net9.0;net8.0
$(TargetFrameworksForTests);$(NetFrameworkMinimumSupportedVersion)
diff --git a/build/docker-compose.net10.0.yml b/build/docker-compose.net10.0.yml
new file mode 100644
index 00000000000..70429a07f5d
--- /dev/null
+++ b/build/docker-compose.net10.0.yml
@@ -0,0 +1,7 @@
+services:
+ tests:
+ build:
+ args:
+ PUBLISH_FRAMEWORK: net10.0
+ TEST_SDK_VERSION: "10.0"
+ BUILD_SDK_VERSION: "10.0"
diff --git a/build/docker-compose.net8.0.yml b/build/docker-compose.net8.0.yml
index b93fc24655e..930c9f138fb 100644
--- a/build/docker-compose.net8.0.yml
+++ b/build/docker-compose.net8.0.yml
@@ -4,4 +4,4 @@ services:
args:
PUBLISH_FRAMEWORK: net8.0
TEST_SDK_VERSION: "8.0"
- BUILD_SDK_VERSION: "9.0"
+ BUILD_SDK_VERSION: "10.0"
diff --git a/build/docker-compose.net9.0.yml b/build/docker-compose.net9.0.yml
index 94176258b24..10a6dc5cf2c 100644
--- a/build/docker-compose.net9.0.yml
+++ b/build/docker-compose.net9.0.yml
@@ -4,4 +4,4 @@ services:
args:
PUBLISH_FRAMEWORK: net9.0
TEST_SDK_VERSION: "9.0"
- BUILD_SDK_VERSION: "9.0"
+ BUILD_SDK_VERSION: "10.0"
diff --git a/examples/MicroserviceExample/WebApi/Dockerfile b/examples/MicroserviceExample/WebApi/Dockerfile
index 736ea2d16fc..e002ffc4dbb 100644
--- a/examples/MicroserviceExample/WebApi/Dockerfile
+++ b/examples/MicroserviceExample/WebApi/Dockerfile
@@ -1,16 +1,18 @@
ARG SDK_VERSION=9.0
FROM mcr.microsoft.com/dotnet/sdk:8.0.414@sha256:ff8311847c54c04d1a14c488362807997d59b61372da5095a95f89cbcda7f9b7 AS dotnet-sdk-8.0
FROM mcr.microsoft.com/dotnet/sdk:9.0.305@sha256:123b43e4d9775451d8ed63af324a42132707b4edb14770bcdf5c85cf55bc45f1 AS dotnet-sdk-9.0
+FROM mcr.microsoft.com/dotnet/sdk:10.0.100-rc.1@sha256:eee11b0bf11715710bbe8339b9641f0ef8b5d8a8e07f2d6ff3cd4361c1a4e5a7 AS dotnet-sdk-10.0
FROM dotnet-sdk-${SDK_VERSION} AS build
ARG PUBLISH_CONFIGURATION=Release
-ARG PUBLISH_FRAMEWORK=net9.0
+ARG PUBLISH_FRAMEWORK=net10.0
WORKDIR /app
COPY . ./
RUN dotnet publish ./examples/MicroserviceExample/WebApi -c "${PUBLISH_CONFIGURATION}" -f "${PUBLISH_FRAMEWORK}" -o /out -p:IntegrationBuild=true
FROM mcr.microsoft.com/dotnet/aspnet:8.0.20@sha256:53f73fbe620361e5116f68752bf42958dfcda8699a94a785dcb4657bc571c8f3 AS dotnet-aspnet-8.0
FROM mcr.microsoft.com/dotnet/aspnet:9.0.9@sha256:366204b1d249aa2615f4942c8549677a1f3e6231829f274aa8829fc048f38d8c AS dotnet-aspnet-9.0
+FROM mcr.microsoft.com/dotnet/aspnet:10.0.0-rc.1@sha256:d9a0d4006dbbc14d877b00c5e7113b432bac6bca6d12816a6e8fd999bac72797 AS dotnet-aspnet-10.0
FROM dotnet-aspnet-${SDK_VERSION} AS runtime
WORKDIR /app
diff --git a/examples/MicroserviceExample/WorkerService/Dockerfile b/examples/MicroserviceExample/WorkerService/Dockerfile
index 4635b70bfc0..9173394bb58 100644
--- a/examples/MicroserviceExample/WorkerService/Dockerfile
+++ b/examples/MicroserviceExample/WorkerService/Dockerfile
@@ -1,17 +1,19 @@
-ARG SDK_VERSION=9.0
+ARG SDK_VERSION=10.0
FROM mcr.microsoft.com/dotnet/sdk:8.0.414@sha256:ff8311847c54c04d1a14c488362807997d59b61372da5095a95f89cbcda7f9b7 AS dotnet-sdk-8.0
FROM mcr.microsoft.com/dotnet/sdk:9.0.305@sha256:123b43e4d9775451d8ed63af324a42132707b4edb14770bcdf5c85cf55bc45f1 AS dotnet-sdk-9.0
+FROM mcr.microsoft.com/dotnet/sdk:10.0.100-rc.1@sha256:eee11b0bf11715710bbe8339b9641f0ef8b5d8a8e07f2d6ff3cd4361c1a4e5a7 AS dotnet-sdk-10.0
FROM dotnet-sdk-${SDK_VERSION} AS build
ARG PUBLISH_CONFIGURATION=Release
-ARG PUBLISH_FRAMEWORK=net9.0
+ARG PUBLISH_FRAMEWORK=net10.0
WORKDIR /app
COPY . ./
RUN dotnet publish ./examples/MicroserviceExample/WorkerService -c "${PUBLISH_CONFIGURATION}" -f "${PUBLISH_FRAMEWORK}" -o /out -p:IntegrationBuild=true
FROM mcr.microsoft.com/dotnet/aspnet:8.0.20@sha256:53f73fbe620361e5116f68752bf42958dfcda8699a94a785dcb4657bc571c8f3 AS dotnet-aspnet-8.0
FROM mcr.microsoft.com/dotnet/aspnet:9.0.9@sha256:366204b1d249aa2615f4942c8549677a1f3e6231829f274aa8829fc048f38d8c AS dotnet-aspnet-9.0
+FROM mcr.microsoft.com/dotnet/aspnet:10.0.0-rc.1@sha256:d9a0d4006dbbc14d877b00c5e7113b432bac6bca6d12816a6e8fd999bac72797 AS dotnet-aspnet-10.0
FROM dotnet-aspnet-${SDK_VERSION} AS runtime
WORKDIR /app
diff --git a/global.json b/global.json
index 8c14264b61d..5deefcbcb02 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,7 @@
{
"sdk": {
- "rollForward": "latestFeature",
- "version": "9.0.305"
+ "rollForward": "latestMajor",
+ "allowPrerelease": false,
+ "version": "10.0.100-rc.1.25451.107"
}
}
diff --git a/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md b/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md
index d63d1feab2e..722ef0093e4 100644
--- a/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md
+++ b/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md
@@ -11,6 +11,9 @@ Notes](../../RELEASENOTES.md).
`8.0.0` of the `Microsoft.Extensions.DependencyInjection.Abstractions` NuGet package.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Api/CHANGELOG.md b/src/OpenTelemetry.Api/CHANGELOG.md
index 71e81cde63d..fac63e7c93c 100644
--- a/src/OpenTelemetry.Api/CHANGELOG.md
+++ b/src/OpenTelemetry.Api/CHANGELOG.md
@@ -6,6 +6,9 @@ Notes](../../RELEASENOTES.md).
## Unreleased
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj b/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj
index a3a2895ee3e..3b8c4fa1fb3 100644
--- a/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj
+++ b/src/OpenTelemetry.Api/OpenTelemetry.Api.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/OpenTelemetry.Exporter.Console/CHANGELOG.md b/src/OpenTelemetry.Exporter.Console/CHANGELOG.md
index 3e6d6315e3f..a89f0e1e26d 100644
--- a/src/OpenTelemetry.Exporter.Console/CHANGELOG.md
+++ b/src/OpenTelemetry.Exporter.Console/CHANGELOG.md
@@ -12,6 +12,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md b/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md
index af949b0f061..176da90cb9d 100644
--- a/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md
+++ b/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md
@@ -12,6 +12,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md
index c394bd4f0c6..3c59ee89eef 100644
--- a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md
+++ b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md
@@ -7,6 +7,9 @@ Notes](../../RELEASENOTES.md).
## Unreleased
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md b/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md
index 13d43338279..f95357157bb 100644
--- a/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md
+++ b/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md
@@ -13,6 +13,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1-beta.1
Released 2025-Oct-10
diff --git a/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md b/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md
index c293fec214f..225a457e9c6 100644
--- a/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md
+++ b/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md
@@ -13,6 +13,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1-beta.1
Released 2025-Oct-10
diff --git a/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md b/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md
index 835d3136a80..f5c6e367a02 100644
--- a/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md
+++ b/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md
@@ -12,6 +12,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md b/src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md
index 36278a05bba..2b9348c6b54 100644
--- a/src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md
+++ b/src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md
@@ -13,6 +13,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md b/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md
index 51ec5cc348f..5d412acd49e 100644
--- a/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md
+++ b/src/OpenTelemetry.Extensions.Propagators/CHANGELOG.md
@@ -6,6 +6,9 @@ covering all components see: [Release Notes](../../RELEASENOTES.md).
## Unreleased
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md b/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md
index 7cc3417ec8d..2cb9af6019e 100644
--- a/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md
+++ b/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md
@@ -6,6 +6,9 @@ Notes](../../RELEASENOTES.md).
## Unreleased
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1-beta.1
Released 2025-Oct-10
diff --git a/src/OpenTelemetry/CHANGELOG.md b/src/OpenTelemetry/CHANGELOG.md
index a605afa0592..2e1c31dfa76 100644
--- a/src/OpenTelemetry/CHANGELOG.md
+++ b/src/OpenTelemetry/CHANGELOG.md
@@ -12,6 +12,9 @@ Notes](../../RELEASENOTES.md).
`Microsoft.Extensions.Logging.Configuration` NuGet packages.
([#6327](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6327))
+* Add support for .NET 10.0.
+ ([#6307](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6307))
+
## 1.13.1
Released 2025-Oct-09
diff --git a/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/Dockerfile b/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/Dockerfile
index 48d12f89c70..eb2c7d9f26f 100644
--- a/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/Dockerfile
+++ b/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/Dockerfile
@@ -2,14 +2,15 @@
# This should be run from the root of the repo:
# docker build --file test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/Dockerfile
-ARG BUILD_SDK_VERSION=9.0
-ARG TEST_SDK_VERSION=9.0
+ARG BUILD_SDK_VERSION=10.0
+ARG TEST_SDK_VERSION=10.0
FROM mcr.microsoft.com/dotnet/sdk:8.0.414@sha256:ff8311847c54c04d1a14c488362807997d59b61372da5095a95f89cbcda7f9b7 AS dotnet-sdk-8.0
FROM mcr.microsoft.com/dotnet/sdk:9.0.305@sha256:123b43e4d9775451d8ed63af324a42132707b4edb14770bcdf5c85cf55bc45f1 AS dotnet-sdk-9.0
+FROM mcr.microsoft.com/dotnet/sdk:10.0.100-rc.1@sha256:eee11b0bf11715710bbe8339b9641f0ef8b5d8a8e07f2d6ff3cd4361c1a4e5a7 AS dotnet-sdk-10.0
FROM dotnet-sdk-${BUILD_SDK_VERSION} AS build
ARG PUBLISH_CONFIGURATION=Release
-ARG PUBLISH_FRAMEWORK=net9.0
+ARG PUBLISH_FRAMEWORK=net10.0
WORKDIR /repo
COPY . ./
WORKDIR "/repo/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests"
diff --git a/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/Dockerfile b/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/Dockerfile
index 89ba287639c..32d5a77a821 100644
--- a/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/Dockerfile
+++ b/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/Dockerfile
@@ -2,8 +2,8 @@
# This should be run from the root of the repo:
# docker build --file test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/Dockerfile .
-ARG BUILD_SDK_VERSION=9.0
-ARG TEST_SDK_VERSION=9.0
+ARG BUILD_SDK_VERSION=10.0
+ARG TEST_SDK_VERSION=10.0
FROM ubuntu:24.04@sha256:728785b59223d755e3e5c5af178fab1be7031f3522c5ccd7a0b32b80d8248123 AS w3c
#Install git
@@ -13,10 +13,11 @@ RUN git clone --branch level-1 https://github.com/w3c/trace-context.git
FROM mcr.microsoft.com/dotnet/sdk:8.0.414@sha256:ff8311847c54c04d1a14c488362807997d59b61372da5095a95f89cbcda7f9b7 AS dotnet-sdk-8.0
FROM mcr.microsoft.com/dotnet/sdk:9.0.305@sha256:123b43e4d9775451d8ed63af324a42132707b4edb14770bcdf5c85cf55bc45f1 AS dotnet-sdk-9.0
+FROM mcr.microsoft.com/dotnet/sdk:10.0.100-rc.1@sha256:eee11b0bf11715710bbe8339b9641f0ef8b5d8a8e07f2d6ff3cd4361c1a4e5a7 AS dotnet-sdk-10.0
FROM dotnet-sdk-${BUILD_SDK_VERSION} AS build
ARG PUBLISH_CONFIGURATION=Release
-ARG PUBLISH_FRAMEWORK=net9.0
+ARG PUBLISH_FRAMEWORK=net10.0
WORKDIR /repo
COPY . ./
WORKDIR "/repo/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests"
diff --git a/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj b/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj
index e7c04435cd0..5e1a39debc9 100644
--- a/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj
+++ b/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/W3CTraceContextTests.cs b/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/W3CTraceContextTests.cs
index 16a45886aaa..1a6c609ea0f 100644
--- a/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/W3CTraceContextTests.cs
+++ b/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/W3CTraceContextTests.cs
@@ -24,6 +24,12 @@ public sealed class W3CTraceContextTests : IDisposable
private readonly HttpClient httpClient = new();
private readonly ITestOutputHelper output;
+ static W3CTraceContextTests()
+ {
+ // See https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/10.0/default-trace-context-propagator
+ DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();
+ }
+
public W3CTraceContextTests(ITestOutputHelper output)
{
this.output = output;
diff --git a/test/OpenTelemetry.Tests/Trace/SamplersTests.cs b/test/OpenTelemetry.Tests/Trace/SamplersTests.cs
index 9c7ae28ee29..db42188513f 100644
--- a/test/OpenTelemetry.Tests/Trace/SamplersTests.cs
+++ b/test/OpenTelemetry.Tests/Trace/SamplersTests.cs
@@ -158,24 +158,12 @@ public void SamplersCanModifyTraceState(SamplingDecision sampling)
}
else if (sampling == SamplingDecision.RecordOnly)
{
- // TODO: Update this when repo consumes DS v10.
- // Note: Seems to be a bug in DiagnosticSource. Root in this case
- // inherits context from the remote parent and Recorded doesn't get
- // cleared. This should be fixed in .NET 10:
- // https://github.com/dotnet/runtime/pull/111289
- // Assert.False(root.Recorded);
-
+ Assert.False(root.Recorded);
Assert.True(root.IsAllDataRequested);
}
else
{
- // TODO: Update this when repo consumes DS v10.
- // Note: Seems to be a bug in DiagnosticSource. Root in this case
- // inherits context from the remote parent and Recorded doesn't get
- // cleared. This should be fixed in .NET 10:
- // https://github.com/dotnet/runtime/pull/111289
- // Assert.False(root.Recorded);
-
+ Assert.False(root.Recorded);
Assert.False(root.IsAllDataRequested);
}