runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

Update .NET SDK

Open DaleMckeown opened this issue 1 year ago • 12 comments

Tool name

.NET SDK

Tool license

https://dotnet.microsoft.com/en-us/download/dotnet/9.0

Add or update?

  • [ ] Add
  • [X] Update

Desired version

.NET9

Approximate size

No response

Brief description of tool

.NET SDK needs updating to include the recently released .NET 9 framework.

URL for tool's homepage

https://dotnet.microsoft.com/en-us/download/dotnet/9.0

Provide a basic test case to validate the tool's functionality.

No response

Platforms where you need the tool

  • [X] Azure DevOps
  • [x] GitHub Actions

Runner images where you need the tool

  • [X] Ubuntu 20.04
  • [X] Ubuntu 22.04
  • [X] Ubuntu 24.04
  • [ ] macOS 12
  • [ ] macOS 13
  • [ ] macOS 13 Arm64
  • [ ] macOS 14
  • [ ] macOS 14 Arm64
  • [ ] macOS 15
  • [ ] macOS 15 Arm64
  • [X] Windows Server 2019
  • [X] Windows Server 2022

Can this tool be installed during the build?

No response

Tool installation time in runtime

No response

Are you willing to submit a PR?

No response

DaleMckeown avatar Nov 13 '24 20:11 DaleMckeown

Hi @DaleMckeown , .Net version 9 will be added in next image roll out. thanks

vidyasagarnimmagaddi avatar Nov 14 '24 04:11 vidyasagarnimmagaddi

Could this be updated to include macos runners aswell?

thomasbach-dk avatar Nov 14 '24 15:11 thomasbach-dk

@thomasbach-dk My understanding is they have some specific rules for macOS images, IIRC only 1 version of .NET is allowed on them. It will likely be a decision for MSFT to make themselves when they want to swap 8 out for 9, so I don't want it to hold up the rest of the images from being deployed with .NET9.

Feel free to submit a separate PR targeting macOS specifically.

DaleMckeown avatar Nov 14 '24 16:11 DaleMckeown

Hi @DaleMckeown , .Net version 9 will be added in next image roll out. thanks

ETA?

gkizior avatar Nov 15 '24 21:11 gkizior

@DaleMckeown wait what? I never heard of something like that. Even the existing macos runners have multiple .NET versions installed.

e.g. https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md#language-and-runtime

artiomchi avatar Nov 19 '24 14:11 artiomchi

Any update on this? Quite sad to see anyone using GitHub runners in CI not being able to use already released .NET 9 without having to install it every time.

michal-zatloukal avatar Nov 21 '24 15:11 michal-zatloukal

@vidyasagarnimmagaddi When will the new image be released? People want to start using .NET 9.

DaleMckeown avatar Nov 25 '24 09:11 DaleMckeown

actually Windows runner is using .NET 9 while others is using .NET 8

sdcb avatar Nov 25 '24 09:11 sdcb

I don't get it why every year with each new .NET version we have to use the workaround of manually installing the .NET in the existing images. Why is Microsoft not able to release new runner-images on release date? I think every developer hopes that on day-0 the whole ecosystem is .NET9 ready.

michaelmairegger avatar Nov 25 '24 10:11 michaelmairegger

@michaelmairegger It'd be nice if the images were ready for day-0. .NET 9 was release nearly 2 weeks ago now. You'd imagine many people are using GitHub actions/ DevOps pipelines to deploy their applications.

I guess MSFT is a huge organisation (over 230,000 employees apparently) and the thinking is not as joined up as it could/should be.

DaleMckeown avatar Nov 25 '24 11:11 DaleMckeown

When can we expect a resolution? Seems like there is one ready, but it only needs one more Reviewer Approval to be merged and available.

a1-jesper avatar Dec 04 '24 08:12 a1-jesper

Guys, it's very simple to solve: just add into your pipeline the task "Use .NET Core" and specify the newest version (9.0.101). The specified version will be downloaded and installed in a few seconds. I'm using this in a MAUI app targeting .NET 9 in a macOS 14. It works like a charm!

But I agree with you. It's strange, one month after .NET 9 launch, the SDK is not available yet. I think the same with the .NET workloads for MAUI. They're available only for Windows machines, and every time I'm using macOS to build the app, I need to install them.

ionixjunior avatar Dec 09 '24 23:12 ionixjunior

As @ionixjunior mentions just add step which pins specific version (9.0 in this case). To achieve this, take a look at setup-dotnet.

TL;DR:

- name: Setup .NET
  uses: actions/setup-dotnet@v3
  with:
    dotnet-version: '9.0.x'

(note: leave x as placeholder for patch)

AleksaRistic216 avatar Jan 09 '25 00:01 AleksaRistic216

Guys, it's very simple to solve: just add into your pipeline the task "Use .NET Core" and specify the newest version (9.0.101). The specified version will be downloaded and installed in a few seconds. I'm using this in a MAUI app targeting .NET 9 in a macOS 14. It works like a charm!

But I agree with you. It's strange, one month after .NET 9 launch, the SDK is not available yet. I think the same with the .NET workloads for MAUI. They're available only for Windows machines, and every time I'm using macOS to build the app, I need to install them.

Unfortunately this breaks solutions that multi-target, specifically DotNetCoreCLI task using the 'test' command.

-- Sample Log from build agent. Test Project targets .NET 6, 8, and 9. .NET 6 fails with the following. .NET 8 target fails with the same result. .NET 9 passes, but the whole task then fails as some of the result trx files are missing.

Architecture: x64 Framework: 'Microsoft.NETCore.App', version '6.0.0' (x64) .NET location: /opt/hostedtoolcache/dotnet/ The following frameworks were found: 9.0.0 at [/opt/hostedtoolcache/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=6.0.0&arch=x64&rid=linux-x64&os=ubuntu.22.04 . Please check the diagnostic logs for more information. Results File: /home/vsts/work/_temp/_fv-az422-7_2025-01-13_23_25_21.trx

Test Run Aborted.

slaneyrw avatar Jan 14 '25 23:01 slaneyrw

Hi @DaleMckeown, The latest release of .NET 9 is currently incompatible with Ubuntu and will not be included for the time being. For more details, please refer to the documentation. We are closing this issue, Thank you.

hemanthmanga avatar Jan 21 '25 17:01 hemanthmanga

Can you be more specific? What is incompatible in .NET 9 on Ubuntu? If there is something we should know.

michal-zatloukal avatar Jan 22 '25 09:01 michal-zatloukal

I too would like to know this. I have been manually installing .NET9 on Ubuntu images and have not run into any issues so far.

DaleMckeown avatar Jan 22 '25 09:01 DaleMckeown

Hi @DaleMckeown, The latest release of .NET 9 is currently incompatible with Ubuntu and will not be included for the time being. For more details, please refer to the documentation. We are closing this issue, Thank you.

Arbitrarily closing this item with that reason is a real amateur move. More details needed, given we can install explictly without apparent issues ( multi-targeting aside ).

The Ubuntu agent is the only Linux host you offer, what else are we supposed to use!

Seriously bad form

slaneyrw avatar Jan 23 '25 04:01 slaneyrw

I too would like to know this. I have been manually installing .NET9 on Ubuntu images and have not run into any issues so far.

Hi @DaleMckeown, We have added the .NET 9 version to both Ubuntu 20 and Ubuntu 22. Kindly check the PR. However, for Ubuntu 24, .NET 9 is not yet available in the package manager as it is currently not supported in the built-in Ubuntu feed. If needed, you can install it manually, use backports, or utilize setup-dotnet. For more information, please read the complete documentation. Thank you.

hemanthmanga avatar Jan 23 '25 17:01 hemanthmanga

Why this ticket is closed if .NET 9 is not available in Ubuntu 24? Keep this open until it's done.

michal-zatloukal avatar Mar 05 '25 11:03 michal-zatloukal