Skip to content

Detect outdated/problematic build configurations #25311

@rolfbjarne

Description

@rolfbjarne

Customers very often have project files with a number of properties that are not in use anymore, or directly conflict with CoreCLR.

For example, the RunAotCompilation property is only applicable when using MonoMV, and will apparently break/confuse a build using CoreCLR.

Android has a build target named _CheckNonIdealConfigurations which will issue warnings if problems are found with a build configuration.

I suggest we add something similar. In some cases we know won't work (RunAotCompilation+CoreCLR) we might just show an error instead, which will likely be more helpful than the confused build error that happens later (or even worse: a successful, but broken, build).

Properties to handle

Properties Action Message
RunAotCompilation=true + UseMonoRuntime=false Error
EnableSGenConc=true + UseMonoRuntime=false Warning EnableSGenConc has no effect with CoreCLR
UseInterpreter=true + UseMonoRuntime=false Warning UseInterpreter has no effect with CoreCLR
MtouchInterpreter + UseMonoRuntime=false Warning MtouchInterpreter has no effect with CoreCLR
MtouchUseLlvm + UseMonoRuntime=false Warning MtouchUseLlvm has no effect with CoreCLR

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreCLRBugs related to our CoreCLR support

    Type

    No fields configured for Task.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions