Skip to content

net8->net10 - #1910

Merged
Ryan Brandenburg (ryanbrandenburg) merged 2 commits into
mainfrom
users/rybrande/net10
Nov 4, 2026
Merged

Ryan Brandenburg (ryanbrandenburg) merged 2 commits into
mainfrom
users/rybrande/net10

Conversation

@ryanbrandenburg

Copy link
Copy Markdown
Contributor

It's time to upgrade to the new LTS .NET SDK.

Comment thread .editorconfig Resolved
Comment thread Dockerfile Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The devcontainer references an unavailable .NET 10 image that blocks startup, and the documented filtered test command fails on assemblies with no matching tests.

2 open issues
What changed in this PR

Upgrades Component Detection from .NET 8 to .NET 10, aligning its build, test, container, and contributor workflows with the new SDK.

Changes:

  • Updates framework targets, SDK selection, dependencies, and container images.
  • Adopts native Microsoft.Testing.Platform commands and adjusts tests for newer MSBuild behavior.
  • Ensures complete file reads with ReadExactly and adds regression coverage.
File Description
test/​Microsoft.ComponentDetection.VerificationTests/​Microsoft.ComponentDetection.VerificationTests.csproj Removes the direct Dataflow package reference.
test/​Microsoft.ComponentDetection.TestsUtilities/​Microsoft.ComponentDetection.TestsUtilities.csproj Removes the direct Dataflow package reference.
test/​Microsoft.ComponentDetection.Orchestrator.Tests/​Services/​DetectorProcessingServiceTests.cs Makes assertion expression grouping explicit.
test/​Microsoft.ComponentDetection.Orchestrator.Tests/​Microsoft.ComponentDetection.Orchestrator.Tests.csproj Removes the direct Dataflow package reference.
test/​Microsoft.ComponentDetection.Detectors.Tests/​nuget/​BinLogProcessorTests.cs Updates solution creation and MSBuild property expectations.
test/​Microsoft.ComponentDetection.Detectors.Tests/​Microsoft.ComponentDetection.Detectors.Tests.csproj Removes the direct Dataflow package reference.
test/​Microsoft.ComponentDetection.Contracts.Tests/​Microsoft.ComponentDetection.Contracts.Tests.csproj Removes the direct Dataflow package reference.
test/​Microsoft.ComponentDetection.Common.Tests/​Microsoft.ComponentDetection.Common.Tests.csproj Removes the direct Dataflow package reference.
test/​Microsoft.ComponentDetection.Common.Tests/​LazyComponentStreamTests.cs Adds complete-file-read regression coverage.
test/​Directory.Build.props Removes the legacy test-failure output setting.
src/​Microsoft.ComponentDetection/​Microsoft.ComponentDetection.csproj Removes the direct Dataflow package reference.
src/​Microsoft.ComponentDetection.Orchestrator/​Microsoft.ComponentDetection.Orchestrator.csproj Removes the direct Dataflow package reference.
src/​Microsoft.ComponentDetection.Detectors/​Microsoft.ComponentDetection.Detectors.csproj Adjusts Dataflow and security-related package references.
src/​Microsoft.ComponentDetection.Contracts/​Microsoft.ComponentDetection.Contracts.csproj Adds an explicit System.Text.Json reference.
src/​Microsoft.ComponentDetection.Common/​Microsoft.ComponentDetection.Common.csproj Removes the direct Dataflow package reference.
src/​Microsoft.ComponentDetection.Common/​LazyComponentStream.cs Uses ReadExactly to fill the file buffer.
README.md Points SDK prerequisites to global.json.
global.json Selects .NET 10 and Microsoft.Testing.Platform.
Dockerfile Switches to .NET 10 Azure Linux images.
Directory.Packages.props Updates centrally managed dependency versions.
Directory.Build.props Targets .NET 10 and removes the shared JSON reference.
CONTRIBUTING.md Updates the integration-test command.
.github/​workflows/​build.yml Passes coverage options directly to the test runner.
.github/​copilot-instructions.md Updates project-specific test command syntax.
.editorconfig Sets newer SDK modernization diagnostics to suggestions.
.devcontainer/​devcontainer.json Updates the development image tag to .NET 10.
.azdo/​release.yaml Installs the SDK selected by global.json.

Review effort: Balanced

Comment thread .devcontainer/devcontainer.json Resolved
Comment thread CONTRIBUTING.md Resolved
Comment thread .github/workflows/build.yml Resolved
Comment thread Dockerfile Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The documented solution-wide integration-test command fails when projects have no matching tests under the .NET 10 MTP runner, requiring exit-code 8 handling or narrower project scope.

No open issues 🎉

2 resolved since last review

Review effort: Balanced

@ryanbrandenburg
Ryan Brandenburg (ryanbrandenburg) merged commit ce6db9d into main Nov 4, 2026
15 checks passed
@ryanbrandenburg
Ryan Brandenburg (ryanbrandenburg) deleted the users/rybrande/net10 branch November 4, 2026 22:58
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

👋 Hi! It looks like you modified some files in the Detectors folder.
You may need to bump the detector versions if any of the following scenarios apply:

  • The detector detects more or fewer components than before
  • The detector generates different parent/child graph relationships than before
  • The detector generates different devDependencies values than before

If none of the above scenarios apply, feel free to ignore this comment 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants