Add support for .NET 10 GA by andrewlock · Pull Request #7804 · DataDog/dd-trace-dotnet

@andrewlock @e-n-0

## Summary of changes

Update CI to use GA version of .NET SDK

## Reason for change

.NET 10 was released yesterday, and we want to use it!

## Implementation details

- Follow our docs to update to .NET 10
- Update the VMs
- Fix profiler integration test (broken by a change in the stack trace
in .NET 10 on x64)
- Add some missing/additional smoke tests
- Had to remove some again because realised the OSs haven't _actually_
updated their repos to .NET 10 GA
- [x] Reinstate [the broken automapper exploration
tests](271ad61)
  - Nope, they're still broken 🤷‍♂️  

## Test coverage

Will run the full installer test suite to make sure everything looks ok

We have a _weird_ failure with xUnit, that's _only_ happening on .NET
Core 3.1, Windows, x64, where `Environment.OSVersion.VersionString` is
apparently returning the wrong string. Discussed with @tonyredondo and
we have no idea what's going on 😅 Feels like something broken in the VM,
but seeing it happen somewhat consistently, so we might just skip it and
come back to it...

```
Error Message:
12:24:57 [DBG]    Expected string to be "Microsoft Windows NT 10.0.20348.0" with a length of 33, but "Microsoft Windows NT 6.2.9200.0" has a length of 31, differs near "6.2" (index 21).
12:24:57 [DBG]   Stack Trace:
12:24:57 [DBG]      at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
12:24:57 [DBG]    at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
12:24:57 [DBG]    at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
12:24:57 [DBG]    at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
12:24:57 [DBG]    at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
12:24:57 [DBG]    at FluentAssertions.Primitives.StringValidator.Validate()
12:24:57 [DBG]    at FluentAssertions.Primitives.StringAssertions`1.Be(String expected, String because, Object[] becauseArgs)
12:24:57 [DBG]    at Datadog.Trace.ClrProfiler.IntegrationTests.CI.TestingFrameworkTest.AssertTargetSpanEqual(MockSpan targetSpan, String key, String value) in D:\a\_work\1\s\tracer\test\Datadog.Trace.ClrProfiler.IntegrationTests\CI\TestingFrameworkTest.cs:line 110
12:24:57 [DBG]    at Datadog.Trace.ClrProfiler.IntegrationTests.CI.TestingFrameworkTest.CheckRuntimeValues(MockSpan targetSpan) in D:\a\_work\1\s\tracer\test\Datadog.Trace.ClrProfiler.IntegrationTests\CI\TestingFrameworkTest.cs:line 133
12:24:57 [DBG]    at Datadog.Trace.ClrProfiler.IntegrationTests.CI.XUnitTests.SubmitTraces(String packageVersion) in D:\a\_work\1\s\tracer\test\Datadog.Trace.ClrProfiler.IntegrationTests\CI\XUnitTests.cs:line 96
12:24:57 [DBG]    at Datadog.Trace.ClrProfiler.IntegrationTests.CI.PipesXUnitTests.SubmitTraces(String packageVersion) in D:\a\_work\1\s\tracer\test\Datadog.Trace.ClrProfiler.IntegrationTests\CI\PipesXUnitTests.cs:line 31
```


## Other details

https://datadoghq.atlassian.net/browse/LANGPLAT-840

Related PRs:
- DataDog/images#8001
- DataDog/benchmarking-platform#210
- DataDog/benchmarking-platform#211
- DataDog/serverless-tools#83