Skip to content

Add missing Evaluator FastPath items for common SDK use cases #10398

@baronfel

Description

@baronfel

The following members are invoked on a dotnet build and/or dotnet publish of the console and web templates and forced to fallback to the reflection-based lookups:

ReceiverType ObjectInstanceType MethodName
System.Version System.Version ToString(int)
System.Text.RegularExpressions.Regex Replace(String, String, String)
System.String System.String Equals(String)
System.IO.Path GetFileNameWithoutExtension(String)
System.Int32 System.Int32 ToString(String)
Microsoft.Build.Utilities.ToolLocationHelper GetPlatformSDKLocation(String, String)
Microsoft.Build.Utilities.ToolLocationHelper GetPlatformSDKDisplayName(String, String)
Microsoft.Build.Evaluation.IntrinsicFunctions NormalizeDirectory(String)
Microsoft.Build.Evaluation.IntrinsicFunctions IsOSPlatform(String)

We should add fastpaths for them and create a test in the SDK that uses the MSBuildLogPropertyFunctionsRequiringReflection=true mechanism to ensure we stay 'clean'.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions