Skip to content

Update SDK #33187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jun 10, 2021
Merged

Update SDK #33187

merged 17 commits into from
Jun 10, 2021

Conversation

wtgodbe
Copy link
Member

@wtgodbe wtgodbe commented Jun 1, 2021

No description provided.

@wtgodbe wtgodbe requested a review from a team June 1, 2021 17:21
@ghost ghost added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Jun 1, 2021
Copy link
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

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

Just blocked by another test that should be quarantined❔

@wtgodbe
Copy link
Member Author

wtgodbe commented Jun 1, 2021

Rerunning to see if it's flaky before I quarantine

@wtgodbe
Copy link
Member Author

wtgodbe commented Jun 2, 2021

Test LinkedApplicationWorks failed both times, with different failure cases each time:

System.Net.Http.HttpRequestException : No connection could be made because the target machine actively refused it. (localhost:51307)\r\n---- System.Net.Sockets.SocketException : No connection could be made because the target machine actively refused it.

versus:

Assert.False() Failure\r\nExpected: False\r\nActual: True
| [24.856s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\C0E60A2E\t\c0eaab8d31cf4ae2b0f2ed5890160593\BasicLinkedApp.exe stderr: Failed to create CoreCLR, HRESULT: 0x80004005

Looks like the test has been quarantined before: #24755. It's concerning that it now fails consistently after updating the SDK - @davidfowl looks like last time it might have been related to trimming? #32166 (comment)

@dsplaisted are you aware of any potentially related SDK changes?

@dsplaisted
Copy link
Member

@agocke @jeffschwMSFT Do you know if something changed recently with linking that could have impacted this test?

@agocke
Copy link
Member

agocke commented Jun 3, 2021

We certainly wouldn't expect CoreCLR failing to load. Could you gather a log by setting COREHOST_TRACE=1?

@wtgodbe wtgodbe requested a review from Tratcher as a code owner June 4, 2021 17:26
@JunTaoLuo
Copy link
Contributor

Looks like two failure modes are related. In the test run, I see that No connection could be made because the target machine actively refused it. occurs since the host being launched failed with the error ailed to create CoreCLR, HRESULT: 0x80004005 so it's likely all of these failures are caused by the same underlying reason.

@agocke I was able to get some corehost trace logs but I couldn't make much sense of it:

| [42.551s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property FX_DEPS_FILE = 
| [42.558s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property TRUSTED_PLATFORM_ASSEMBLIES = C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.IO.MemoryMappedFiles.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Collections.Immutable.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.ComponentModel.Primitives.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Win32.Primitives.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.DependencyInjection.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Collections.Concurrent.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Collections.Specialized.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.DependencyInjection.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Collections.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Text.Encodings.Web.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Collections.NonGeneric.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.ComponentModel.TypeConverter.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.ComponentModel.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Primitives.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Logging.Console.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Console.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Net.Security.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Diagnostics.DiagnosticSource.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Server.Kestrel.Core.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Diagnostics.StackTrace.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.IO.Compression.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Net.Primitives.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.IO.FileSystem.Watcher.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Hosting.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Linq.Expressions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Linq.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Memory.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Net.Http.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Net.Sockets.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.ObjectModel.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Private.CoreLib.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Private.Uri.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Reflection.Metadata.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Runtime.CompilerServices.Unsafe.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Connections.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Runtime.InteropServices.RuntimeInformation.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Runtime.Numerics.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Claims.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Options.ConfigurationExtensions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Cryptography.Algorithms.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.FileSystemGlobbing.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Cryptography.Cng.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Cryptography.Csp.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Cryptography.Encoding.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Cryptography.Primitives.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Cryptography.X509Certificates.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Logging.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Security.Principal.Windows.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Text.Json.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Web.HttpUtility.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Logging.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Configuration.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Options.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Configuration.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Configuration.Binder.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.FileProviders.Physical.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Configuration.CommandLine.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Configuration.EnvironmentVariables.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Configuration.FileExtensions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.FileProviders.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Logging.Configuration.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Hosting.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.IO.Pipelines.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Hosting.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Hosting.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Http.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Http.Abstractions.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Http.Features.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Server.Kestrel.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.AspNetCore.WebUtilities.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Extensions.Features.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\Microsoft.Net.Http.Headers.dll;C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\System.Private.CoreLib.dll
| [42.558s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property NATIVE_DLL_SEARCH_DIRECTORIES = C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\;
| [42.558s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property PLATFORM_RESOURCE_ROOTS = 
| [42.558s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property APP_CONTEXT_BASE_DIRECTORY = C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property APP_CONTEXT_DEPS_FILES = C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.deps.json
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property PROBING_DIRECTORIES = 
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property System.Resources.ResourceManager.AllowCustomResourceTypes = false
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property RUNTIME_IDENTIFIER = win10-x64
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting = false
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization = false
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property System.Runtime.InteropServices.BuiltInComInterop.IsSupported = false
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property System.Runtime.InteropServices.EnableCppCLIHostActivation = false
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Property System.StartupHookProvider.IsSupported = false
| [42.559s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: CoreCLR path = 'C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\coreclr.dll', CoreCLR dir = 'C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\'
| [42.563s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Loaded library from C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\coreclr.dll
| [42.589s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Failed to create CoreCLR, HRESULT: 0x80004005
| [42.589s] Microsoft.AspNetCore.Server.IntegrationTesting.SelfHostDeployer Warning: C:\h\w\A9ED0900\t\a04d9bd7044d42dbbf2f760d4ce91205\BasicLinkedApp.exe stderr: Failed to create CoreCLR, HRESULT: 0x80004005

Here's the full log if you want more details:
Standard_Console_Output.log

@agocke
Copy link
Member

agocke commented Jun 4, 2021

This one's got me stumped -- no idea how trimming could affect this. @vitek-karas Any ideas?

@JunTaoLuo If you comment out PublishTrimmed in BasicLinkedApp does the problem still repro?

@JunTaoLuo
Copy link
Contributor

If you comment out PublishTrimmed in BasicLinkedApp does the problem still repro?

Guess we'll find out in the next CI run 😄

@JunTaoLuo
Copy link
Contributor

@agocke Looks like the problem is resolved when trimming is disabled. I'm going to revert the commit since it's not something we want to actually check in.

@agocke
Copy link
Member

agocke commented Jun 4, 2021

Yup, I'm cloning the repo now

@agocke
Copy link
Member

agocke commented Jun 4, 2021

I backed up the linker multiple weeks and it looks like the same failure -- so I think the failure here isn't directly in the linker but might just be the interaction between the linker and the new runtime/sdk. Still investigating

@wtgodbe wtgodbe mentioned this pull request Jun 7, 2021
@agocke
Copy link
Member

agocke commented Jun 8, 2021

OK found the problem -- it looks like the CLR is failing to start because it's looking for System.__ComObject and failing. I bet this is fallout from the work to disable COM support in the CLR @LakshanF

@LakshanF
Copy link

LakshanF commented Jun 8, 2021

We disable built-in COM support by default when trimming. The feature switch details for this is BuiltInComInteropSupport and can configure to set it to true in your project and see if that makes the test pass.

@agocke
Copy link
Member

agocke commented Jun 8, 2021

@JunTaoLuo Any chance we can set <BuiltInComInteropSupport>true</BuiltInComInteropSupport> in the BasicLinkedApp project file and see if the test passes afterwards?

If so, I think the problem is that the test is appropriately failing -- ASP.NET uses COM, but COM is not supported when trimming.

This failure experience is obviously unfortunate though. We'll try to improve that.

@TanayParikh
Copy link
Contributor

TanayParikh commented Jun 8, 2021

<BuiltInComInteropSupport>true</BuiltInComInteropSupport>

Sure thing, let's give it a shot to confirm. Thanks!

@vitek-karas
Copy link
Member

While it might be true that ASP.NET needs COM (would be interesting to know what for - in the simple web app case), it doesn't explain this failure.
Based on the trace this fails VERY early on - during coreclr_initialize. There should be no user code running at that time (only CoreLib is loaded by the time coreclr_intialize returns).

In fact this is trivial to repro - just plain console hello world when fully trimmed will fail to start the runtime. I filed dotnet/runtime#53898 to track that.

Setting <BuiltInComInteropSupport>true</BuiltInComInteropSupport> fixes the problem.

@TanayParikh
Copy link
Contributor

While it might be true that ASP.NET needs COM (would be interesting to know what for - in the simple web app case), it doesn't explain this failure.
Based on the trace this fails VERY early on - during coreclr_initialize. There should be no user code running at that time (only CoreLib is loaded by the time coreclr_intialize returns).

In fact this is trivial to repro - just plain console hello world when fully trimmed will fail to start the runtime. I filed dotnet/runtime#53898 to track that.

Setting <BuiltInComInteropSupport>true</BuiltInComInteropSupport> fixes the problem.

fyi/ @dotnet/aspnet-build


Still seeing some failures:
src/Shared/CommandLineUtils/CommandLine/AnsiConsole.cs(95,33): error CA1846: (NETCORE_ENGINEERING_TELEMETRY=Build) Prefer 'AsSpan' over 'Substring' when span-based overloads are available but this seems to be unrelated. Upgraded the SDK again to the latest from main (6.0.x Runtime) to see if that fixes things up.

@agocke
Copy link
Member

agocke commented Jun 8, 2021

Not sure about the Span problem, but this is definitely our bug at the moment, and the BuiltInComInteropSupport change will be a workaround -- but we need to fix the underlying problem ASAP.

@wtgodbe wtgodbe requested a review from Pilchie as a code owner June 9, 2021 16:59
@@ -41,8 +41,6 @@ public async Task LinkedApplicationWorks()
StatusMessagesEnabled = false
};

deploymentParameters.EnvironmentVariables["COREHOST_TRACE"] = "1";
Copy link
Member

Choose a reason for hiding this comment

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

Why?

Copy link
Contributor

@TanayParikh TanayParikh Jun 9, 2021

Choose a reason for hiding this comment

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

I believe that was just added to help debug the CI issues: bb2e263 / #33187 (comment)

@wtgodbe wtgodbe requested a review from BrennanConroy as a code owner June 9, 2021 17:44
@wtgodbe wtgodbe requested a review from javiercn as a code owner June 9, 2021 19:02
@wtgodbe wtgodbe requested review from pranavkm and a team as code owners June 9, 2021 19:38
@@ -568,7 +568,7 @@ private string DebuggerToString()
}
else
{
return _template.Substring(0, _index) + "|" + _template.Substring(_index);
return string.Concat(_template.Substring(0, _index), "|", _template.Substring(_index));
Copy link
Contributor

Choose a reason for hiding this comment

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

I would think it wants you to do

Suggested change
return string.Concat(_template.Substring(0, _index), "|", _template.Substring(_index));
return string.Concat(_template.AsSpan(0, _index), "|", _template.AsSpan(_index));

@wtgodbe wtgodbe requested a review from halter73 as a code owner June 9, 2021 21:29
@@ -151,5 +151,8 @@ dotnet_diagnostic.CA1827.severity = suggestion
dotnet_diagnostic.CA1829.severity = suggestion
# CA1834: Consider using 'StringBuilder.Append(char)' when applicable
dotnet_diagnostic.CA1834.severity = suggestion
# CA1845: Use span-based 'string.Concat'
Copy link
Contributor

Choose a reason for hiding this comment

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

FYI @captainsafia I made a small change to your PR

Copy link
Member

Choose a reason for hiding this comment

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

Ah I see -- didn't realize these were meant to be ordered.

@captainsafia captainsafia merged commit 6a929c3 into main Jun 10, 2021
@captainsafia captainsafia deleted the wtgodbe/SDK branch June 10, 2021 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.