Version Used:
17.0.0 Preview 1.0 [31313.406.main]
Steps to Reproduce:
CommandLineArguments.Parse is called a lot during solution open by both Roslyn and the project system.
Trace

This code double-parses every option twice just to find the ruleset option:
|
foreach (string arg in flattenedArgs) |
|
{ |
|
string? name, value; |
|
if (TryParseOption(arg, out name, out value) && (name == "ruleset")) |
Version Used:
17.0.0 Preview 1.0 [31313.406.main]
Steps to Reproduce:
CommandLineArguments.Parse is called a lot during solution open by both Roslyn and the project system.
Trace
This code double-parses every option twice just to find the ruleset option:
roslyn/src/Compilers/CSharp/Portable/CommandLine/CSharpCommandLineParser.cs
Lines 143 to 146 in 31103b6