Zauważyłem w Fedora Linux 37 i w Windows 10, jak się zainstaluje .NET Runtime 7, do domyślnie nie można uruchomić choćby najprostszej apki konsolowej skompilowanej dla .NET 6. Pokazuje się komunikat You must install or update .NET to run this application
. Potem Architecture x64 i Framework Microsoft.NETCore.App version 6.0.0 (x64).
Wywołuję w sposób najbardziej standardowy, czyli dotnet testapp.dll
. Doinstalowanie runtime .NET 6 rozwiązuje problem.
Czy .NET 7 jest wstecznie kompatybilny z .NET 6? Jeżeli nie jest kompatybilny, to nie mam więcej pytań.
A jeżeli jest kompatybilny, to w jaki sposób zmusić aplikację dla .NET 6 do uruchomienia w .NET 7? Czy trzeba zmienić coś w projekcie Visual Studio lub VSC z OmniSharp,czy coś w jednym z plików w folderze "publish" po wytworzeniu publikacji?
Póki co, nie znalazłem opisu innego sposobu niż zainstalowanie runtime 6.0.
Aby trochę rozjaśnić, o co mi chodzi, załóżmy następujący scenariusz: Są dwa komputery, na jednym jest tylko runtime .NET 7, a na drugim jest tylko runtime .NET 6. Nie mam dostępu do praw admina, mam tylko standardowego użytkownika. Jak spowodować, żeby jeden i ten sam program .NET działał na obu komputerach? Sam proces tworzenia i kompilacji przebiega na trzecim komputerze, na którym mogą być zainstalowane obie wersje SDK.