GitVersion icon indicating copy to clipboard operation
GitVersion copied to clipboard

[ISSUE]: Building with target framework net8.0-windows requires a `<GitVersionTargetFramework>`

Open aristotelos opened this issue 1 year ago • 4 comments

Prerequisites

  • [X] I have written a descriptive issue title
  • [X] I have searched issues to ensure it has not already been reported

GitVersion package

GitVersion.MsBuild

GitVersion version

6.0.2

Operating system

Windows

What are you seeing?

Build fails when building a project that has <TargetFramework>net8.0-windows</TargetFramework> with a dependency on GitVersion.MsBuild 6.0.2. Build output:

Run dotnet build --no-restore --configuration $env:Configuration
  Possible reasons for this include:
    * You misspelled a built-in dotnet command.
    * You intended to execute a .NET program, but dotnet---roll-forward does not exist.
  Could not execute because the specified command or file was not found.
    * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
C:\Users\runneradmin\.nuget\packages\gitversion.msbuild\6.0.2\tools\GitVersion.MsBuild.targets(22,9): error MSB30[7](https://github.com/FlaUI/FlaUI.WebDriver/actions/runs/10612608289/job/29414614648?pr=68#step:5:8)3: The command "dotnet --roll-forward Major "C:\Users\runneradmin\.nuget\packages\gitversion.msbuild\6.0.2\tools\net[8](https://github.com/FlaUI/FlaUI.WebDriver/actions/runs/10612608289/job/29414614648?pr=68#step:5:9).0-windows\gitversion.dll" "D:\a\FlaUI.WebDriver\FlaUI.WebDriver\src\FlaUI.WebDriver"  -output file -outputfile "obj\gitversion.json"" exited with code 1. [D:\a\FlaUI.WebDriver\FlaUI.WebDriver\src\FlaUI.WebDriver\FlaUI.WebDriver.csproj]
  WpfApplication -> D:\a\FlaUI.WebDriver\FlaUI.WebDriver\src\TestApplications\WpfApplication\bin\Release\WpfApplication.dll

Build FAILED.

C:\Users\runneradmin\.nuget\packages\gitversion.msbuild\6.0.2\tools\GitVersion.MsBuild.targets(22,[9](https://github.com/FlaUI/FlaUI.WebDriver/actions/runs/10612608289/job/29414614648?pr=68#step:5:10)): error MSB3073: The command "dotnet --roll-forward Major "C:\Users\runneradmin\.nuget\packages\gitversion.msbuild\6.0.2\tools\net8.0-windows\gitversion.dll" "D:\a\FlaUI.WebDriver\FlaUI.WebDriver\src\FlaUI.WebDriver"  -output file -outputfile "obj\gitversion.json"" exited with code 1. [D:\a\FlaUI.WebDriver\FlaUI.WebDriver\src\FlaUI.WebDriver\FlaUI.WebDriver.csproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:14.83
Error: Process completed with exit code 1.

A workaround is to add <GitVersionTargetFramework>net8.0</GitVersionTargetFramework> to the project file.

What is expected?

It should not be required to add <GitVersionTargetFramework>net8.0</GitVersionTargetFramework> to the project file.

Steps to Reproduce

https://github.com/FlaUI/FlaUI.WebDriver/pull/68

RepositoryFixture Test

No response

Output log or link to your CI build (if appropriate).

No response

aristotelos avatar Sep 02 '24 10:09 aristotelos

This workaround is currently needed for WIX5 installer projects, too (they usually don't have a target framework set).

rose-a avatar Sep 03 '24 06:09 rose-a

This is not only specific for <TargetFramework>net8.0-windows</TargetFramework>, but also for <TargetFramework>net8.0</TargetFramework>.

I get the same issue:

$ dotnet build --configuration Release --output publish/
  Determining projects to restore...
  Restored /builds/dummy.csproj (in 238 ms).
  Possible reasons for this include:
    * You misspelled a built-in dotnet command.
    * You intended to execute a .NET program, but dotnet---roll-forward does not exist.
    * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
  Could not execute because the specified command or file was not found.
/root/.nuget/packages/gitversion.msbuild/6.0.0/tools/GitVersion.MsBuild.targets(21,9): error MSB3073: The command "dotnet --roll-forward Major "/root/.nuget/packages/gitversion.msbuild/6.0.0/tools/net7.0/gitversion.dll" "/builds/dummy"  -output file -outputfile "obj/gitversion.json"" exited with code 1. [/builds/dummy.csproj]
Build FAILED.
/root/.nuget/packages/gitversion.msbuild/6.0.0/tools/GitVersion.MsBuild.targets(21,9): error MSB3073: The command "dotnet --roll-forward Major "/root/.nuget/packages/gitversion.msbuild/6.0.0/tools/net7.0/gitversion.dll" "/builds/dummy"  -output file -outputfile "obj/gitversion.json"" exited with code 1. [/builds/dummy.csproj]
    0 Warning(s)
    1 Error(s)
Time Elapsed 00:00:01.88
ERROR: Job failed: exit code 1

Short update: I now have a project, where setting <GitVersionTargetFramework>net8.0</GitVersionTargetFramework> doesn't help either and it fails with the same error...

SeppPenner avatar Sep 05 '24 08:09 SeppPenner

Short update: I now have a project, where setting <GitVersionTargetFramework>net8.0</GitVersionTargetFramework> doesn't help either and it fails with the same error...

Please try version 6.0.2

arturcic avatar Sep 05 '24 08:09 arturcic

Short update: I now have a project, where setting <GitVersionTargetFramework>net8.0</GitVersionTargetFramework> doesn't help either and it fails with the same error...

Please try version 6.0.2

@arturcic I already realized that I was using 6.0.0... It works again with <GitVersionTargetFramework>net8.0</GitVersionTargetFramework>.

SeppPenner avatar Sep 05 '24 08:09 SeppPenner

Is there any further information missing, as the PR with a potential fix has been available since mid-September?#4206

samtrion avatar Oct 29 '24 11:10 samtrion

Closed by #4206

arturcic avatar Oct 31 '24 08:10 arturcic

:tada: This issue has been resolved in version 6.0.4 :tada: The release is available on:

Your GitReleaseManager bot :package::rocket:

gittools-bot avatar Oct 31 '24 12:10 gittools-bot