Skip to content

[release/6.0] ILVerify does not build in source-build #64817

@MichaelSimons

Description

@MichaelSimons

The .NET source-build tarball is failing to build on release/6.0.3xx with the following error:

/tarball/src/runtime.3a25a7f1cc446b60678ed25c9d829420d6321eba/artifacts/source-build/self/src/src/coreclr/tools/ILVerify/Program.cs(498,31): error CS0103: The name 'CommandHandler' does not exist in the current context [/tarball/src/runtime.3a25a7f1cc446b60678ed25c9d829420d6321eba/artifacts/source-build/self/src/src/coreclr/tools/ILVerify/ILVerify.csproj]

This stems from a couple of factors.

  1. Source build only builds one version of each repo. The sdk's dependency on dotnet/command-line-api is the version included in source-build.
  2. dotnet/command-line-api made some breaking changes and the dotnet/sdk took a dependency on the latest release while dotnet/runtime is on an older version.

Updating dotnet/runtime's version of command-line-api to the same as the sdk will solve the problem for release/6.0.3xx but it will then break release/6.0.2xx and release/6.0.1xx which are on the older version. Upgrading the sdk to the latest command-line-api is a significant amount of work and was rejected to 6.0.2xx.

Options to fix this issue.

  1. Exclude ILVerify from source-build. I took a cursory look and see that ILVerification.nupkg is required but ILVerify might not be needed.
  2. Update ILVerify to be conditioned so that it could build with either version (beta1 or beta2) of command-line-api.
  3. Build both command-line-api versions in source-build. This is a new feature which feels too for a servicing release. It should only be a last resort after exhausting all other options.

cc @dotnet/source-build-internal

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-Tools-ILVerificationIssues related to ilverify tool and IL verification in generaluntriagedNew issue has not been triaged by the area owner

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions