Najważniejsze pytanie: jaki .NET używasz?
.NET Framework czy .NET Core?
W drugim przypadku możesz skompilować do pojedynczego pliku .exe razem z Runtime.
Wtedy takowy program będzie działał także na systemie który nie posiada .NET.
Aby skompilować do wersji finalnej:
W zakładce "Kompilowanie" klikasz "Opublikuj <nazwa_projektu>".
Tworzysz nowy profil, wybierasz folder docelowy. (Domyślnie "bin\Release\netcoreapp3.1\publish\", zalecam zostawić)
Następnie pod podsumowaniem powinien być znak do edycji profilu, klikasz, następnie konfigurujesz profil pod swoje potrzeby.
Najważniejszą opcją którą najpierw musisz ustawić jest "Tryb wdrożenia", zmień na "Samodzielny".
Następnie ustaw Docelowe środowisko uruchomieniowe na win-x86 jeśli chcesz aby program działał także na systemach 32 bitowych, jeżeli zbytnio ci na tym nie zależy to możesz ustawić na win-x64 aby program działał w trybie 64-bitowym.
Następnie rozwiń "Opcje publikowania plików" i zaznacz "Utwórz pojedynczy plik".
Opcjonalnie jeszcze polecam zaznaczenie opcji "Przytnij nieużywane zestawy", znacznie zredukuje rozmiar finalny.
Po zapisaniu profilu możesz profil "Opublikować", wtedy środowisko programistyczne powinno samo wszystko skompilować do folderu docelowego.
Po zakończeniu: w folderze powinien być finalny plik .exe.