Zacząłem się bawić Visual Studio 2017, ale natrafiłem na problem. Jeżeli twoorzę na przykład projekt o nazwie "Witaj" To jego skompilowaniu nie pojawia się plik wykonywalny "Witaj.exe". W całym komputerze go nie ma. Sprawdzone na pewno Total Commanderem. Czego mogę nie wiedzieć?
Skąd ta pewność, że binarka będzie się nazywać Witaj.exe
? :-)
Bo w 2013 tak się nazywa. Tak samo jest w 2010. W 2017 powstaje tylko plik dll o takiej nazwie.
W takim razie coś musiałeś poprzestawiać w ustawieniach projektu - https://docs.microsoft.com/en-us/visualstudio/ide/how-to-change-the-build-output-directory?view=vs-2017.
Jaki typ projektu? Bo jeżeli to jest aplikacja konsolowa dla .NET Core to tak, domyślnie nie tworzy się plik .exe, a tylko plik .dll. Między innymi dlatego, że EXE jest przecież czymś znanym tylko z Windows, a twój program może być uruchamiany na innych platformach.
Możesz użyć dotnet build
, na przykład:
dotnet build -r win-x86
To zbuduje ci - oprócz pliku DLL - także plik "bootstraper", który będzie tak w zasadzie brał i uruchamiał tego .dll, w zależności od platformy docelowej, którą wybrałeś - i dla Windows to będzie właśnie plik o rozszerzeniu EXE, ale dla Linuksa - już plik bez rozszerzenia). O ile jest tam zainstalowany .NET Core. Ale możesz też zbudować taką odmianę, która będzie "w sobie" zawierać wszystkie wymagane elementy z .NET Core, aby aplikacja była self-contained. Aby zobaczyć platformy docelowe, przejrzyj katalog RID. Plus przejrzyj .NET Core app deployment.
A przypadkiem nie stworzyłeś projektu w dotnet core? Jeśli tak, to nie będziesz miał exe, tylko dll. Uruchomić możesz poleceniem dotnet run.