Afgelopen week is de nieuwe .Net 8 officieel gereleased. Deze versie zou bomvol met verbeteringen zitten die vooral de snelheid nog meer gaat verhogen. Hoe dan ook, ik vind het een belangrijk speerpunt om de software altijd up-to-date te houden.
Dotnet heeft een aardige feature, dat er meerdere variaties van de SDK's geïnstalleerd kunnen zijn. Dit is ook noodzakelijk om zowel .Net 6 en 7 applicaties door elkaar te kunnen gebruiken. Via dotnet --list-sdks
krijg je snel te zien welke geïnstalleerd zijn.
Dotnet heb ik via brew
geïnstalleerd. Wat me al eerder opviel bij brew, is dat hij simpelweg altijd de laatste versie installeert van wat dan ook. Zo heb ik spontaan de nieuwe Reaper ontvangen en een poos terug de nieuwe Guitar Pro, waar ik beide geen licentie voor had. Voor dotnet-sdk
geldt hiervoor hetzelfde. Bij het installeren van versie 8, worden alle eerdere geïnstalleerde versies verwijderd. Je krijgt dan iets als dit te zien:
You must install or update .NET to run this application.
Architecture: arm64
Framework: 'Microsoft.NETCore.App', version '7.0.0' (arm64)
.NET location: /usr/local/share/dotnet/
The following frameworks were found:
8.0.0 at [/usr/local/share/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=7.0.0&arch=arm64&rid=osx-arm64&os=osx.14
Process finished with exit code 150.
Een mogelijke oplossing is deze niet via brew
toe te voegen, maar de officiële installatie van Microsoft. Maar er is ook een alternatief: homebrew-dotnet-sdk-versions.
Deze GitHub bevat een 'tap' om verschillende versies parallel te installeren. En het is heel simpel:
brew tap isen-ng/dotnet-sdk-versions
brew install --cask <version>
dotnet --list-sdks
Bij <version>
kan je bijvoorbeeld kiezen voor dotnet-sdk8-0-100
en dotnet-sdk7-0-400
. Als je hierna dotnet --list-sdks
uitvoert krijg je wat je eigenlijk al eerder verwacht had:
% dotnet --list-sdks
7.0.404 [/usr/local/share/dotnet/sdk]
8.0.100 [/usr/local/share/dotnet/sdk]