Skip to content

support .NET 9 or enable roll-forward #1876

Open
@mgravell

Description

@mgravell

Feature description

Currently only .NET 8 is targeted (https://github.com/git-ecosystem/git-credential-manager/blob/main/src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj); if you install a new machine from scratch and install .NET, you won't have .NET 8 - just .NET 9 as current. This means that gcm complains "You must install or update .NET to run this application":

$ git-credential-manager configure
You must install or update .NET to run this application.

App: /home/marc/.dotnet/tools/git-credential-manager
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '8.0.11' (x64)
.NET location: /usr/lib/dotnet

The following frameworks were found:
  9.0.3 at [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Learn more:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.11&arch=x64&rid=ubuntu.24.10-x64&os=ubuntu.24.10

This can be done by multi-targeting, for example net8 and net9:

<TargetFrameworks>net8.0;net9.0</TargetFrameworks>

or perhaps more simply by enabling roll-forward:

<RollForward>Major</RollForward>

in the csproj like this. This is similar to running the tool with the --roll-forward Major switch, except because it is automatic, it should work when called indirectly (which gcm is).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions