Mam aplikację konsoli .NET Core i uruchomiłem dotnet publish
. Nie mogę jednak dowiedzieć się, jak uruchomić aplikację z wiersza polecenia. Jakieś wskazówki?
215
Mam aplikację konsoli .NET Core i uruchomiłem dotnet publish
. Nie mogę jednak dowiedzieć się, jak uruchomić aplikację z wiersza polecenia. Jakieś wskazówki?
Odpowiedzi:
Jeśli jest to aplikacja zależna od frameworka (domyślnie), uruchamiasz ją
dotnet yourapp.dll
.Jeśli jest to samodzielna aplikacja, uruchamiasz ją
yourapp.exe
w systemie Windows i./yourapp
na Uniksie.Aby uzyskać więcej informacji o różnicach między tymi dwoma typami aplikacji, zobacz artykuł dotyczący wdrażania aplikacji .NET Core w dokumentacji .Net Docs.
źródło
dotnet run
. Poza tym, gdzie spojrzałeś? Gdzie można oczekiwać tych informacji?dotnet run
działa tak samo w przypadku nowych projektów csproj, jak w przypadku projektu.json.dotnet run
, upewnij się, że jesteś w katalogu projektu, a nie w katalogu rozwiązań.Możesz bardzo łatwo utworzyć plik EXE (dla systemu Windows) bez użycia żadnych tajemniczych poleceń kompilacji. Możesz to zrobić bezpośrednio w Visual Studio.
źródło
Możesz także uruchomić aplikację tak jak inne aplikacje konsolowe, ale dopiero po opublikowaniu.
Załóżmy, że masz prostą aplikację konsoli o nazwie MyTestConsoleApp. Otwórz konsolę menedżera pakietów i uruchom następujące polecenie:
-c flaga oznacza, że chcesz użyć konfiguracji debugowania (w innym przypadku powinieneś użyć wartości Release) - flaga r oznacza, że twoja aplikacja zostanie uruchomiona na platformie Windows z architekturą x64.
Po zakończeniu procedury publikowania zobaczysz plik * .exe znajdujący się w katalogu bin / Debug / Publishing.
Teraz możesz zadzwonić za pomocą narzędzi wiersza poleceń. Otwórz okno CMD (lub terminal) i przejdź do katalogu, w którym znajduje się plik * .exe, i napisz następne polecenie:
Na przykład:
źródło
Za pomocą dotnetcore3.0 można spakować całe rozwiązanie do pliku wykonywalnego z jednym plikiem, używając
PublishSingleFile
właściwościŹródło plików wykonywalnych jednego pliku
Przykładem
Self Contained
,Release
OSX wykonywalnego:Przykładem
Self Contained
,Debug
Linux 64bit wykonywalny:Kompilacja Linuksa jest niezależna od dystrybucji i znalazłem, że działają na Ubuntu 18.10, CentOS 7.7 i Amazon Linux 2.
Samodzielny plik wykonywalny obejmuje środowisko wykonawcze Dotnet, a środowisko wykonawcze nie wymaga instalacji na komputerze docelowym. Opublikowane pliki wykonywalne są zapisywane w:
<ProjectDir>/bin/<Release or Debug>/netcoreapp3.0/<target-os>/publish/
w systemie Linux, OSX i<ProjectDir>\bin\<Release or Debug>\netcoreapp3.0\<target-os>\publish\
w systemie Windows.źródło
<PublishSingleFile>true</PublishSingleFile>
Za pomocą CMD możesz uruchomić konsolowy projekt .NET Core, jeśli na twoim komputerze jest zainstalowany .NET Core SDK:
Aby uruchomić projekt konsoli za pomocą wiersza polecenia systemu Windows, wybierz określoną ścieżkę z katalogu i wpisz następujące polecenie
źródło
przed uruchomieniem w wierszu polecenia cmd upewnij się, że „appsettings.json” ma takie same wartości jak „appsettings.Development.json”.
W wierszu polecenia przejdź do folderu bin / debug / netcoreapp2.0. następnie uruchom „dotnet applicationname.dll”
źródło