Ich habe eine .NET Core-Konsolen-App und bin ausgeführt worden dotnet publish
. Ich kann jedoch nicht herausfinden, wie die Anwendung über die Befehlszeile ausgeführt wird. Irgendwelche Hinweise?
Ich habe eine .NET Core-Konsolen-App und bin ausgeführt worden dotnet publish
. Ich kann jedoch nicht herausfinden, wie die Anwendung über die Befehlszeile ausgeführt wird. Irgendwelche Hinweise?
Antworten:
Wenn es sich um eine Framework-abhängige Anwendung handelt (Standardeinstellung), führen Sie sie aus dotnet yourapp.dll
.
Wenn es sich um eine eigenständige Anwendung handelt, führen Sie sie unter yourapp.exe
Windows und ./yourapp
Unix aus.
Weitere Informationen zu den Unterschieden zwischen den beiden Anwendungstypen finden Sie im Artikel zur Bereitstellung von .NET Core-Anwendungen in .NET- Dokumenten.
dotnet run
. Und wo hast du gesucht? Wo würden Sie diese Informationen erwarten?
dotnet run
funktioniert für die neuen csproj-Projekte genauso wie für project.json.
dotnet run
, stellen Sie sicher, dass Sie sich im Projektverzeichnis und nicht im Lösungsverzeichnis befinden.
Sie können sehr einfach eine EXE-Datei (für Windows) erstellen, ohne kryptische Build-Befehle zu verwenden. Sie können es direkt in Visual Studio tun.
Sie können Ihre App auch wie alle anderen Konsolenanwendungen ausführen, jedoch erst nach der Veröffentlichung.
Angenommen, Sie haben die einfache Konsolen-App MyTestConsoleApp. Öffnen Sie die Paketmanagerkonsole und führen Sie den folgenden Befehl aus:
dotnet publish -c Debug -r win10-x64
-c Flag bedeutet, dass Sie die Debug-Konfiguration verwenden möchten (in anderen Fällen sollten Sie den Release-Wert verwenden). -fl Flag bedeutet, dass Ihre Anwendung auf einer Windows-Plattform mit x64-Architektur ausgeführt wird.
Wenn der Veröffentlichungsvorgang abgeschlossen ist, wird die Datei * .exe in Ihrem Verzeichnis bin / Debug / Publish angezeigt.
Jetzt können Sie es über Befehlszeilentools aufrufen. Öffnen Sie also das CMD-Fenster (oder Terminal), wechseln Sie in das Verzeichnis, in dem sich Ihre * .exe-Datei befindet, und schreiben Sie den nächsten Befehl:
>> MyTestConsoleApp.exe argument-list
Beispielsweise:
>> MyTestConsoleApp.exe --input some_text -r true
Mit dotnetcore3.0 können Sie die gesamte Lösung mithilfe der PublishSingleFile
Eigenschaft in eine ausführbare Datei mit einer einzigen Datei packen
-p:PublishSingleFile=True
Quell- Einzeldateien ausführbare Dateien
Ein Beispiel Self Contained
, Release
OSX ausführbar:
dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=True --self-contained True
Ein Beispiel Self Contained
, Debug
Linux 64bit ausführbar:
dotnet publish -c Debug -r linux-x64 -p:PublishSingleFile=True --self-contained True
Der Linux-Build ist unabhängig von der Distribution und ich habe festgestellt, dass sie unter Ubuntu 18.10, CentOS 7.7 und Amazon Linux 2 funktionieren.
Eine eigenständige ausführbare Datei enthält Dotnet Runtime und Runtime muss nicht auf einem Zielcomputer installiert werden. Die veröffentlichten ausführbaren Dateien werden gespeichert unter:
<ProjectDir>/bin/<Release or Debug>/netcoreapp3.0/<target-os>/publish/
unter Linux, OSX und
<ProjectDir>\bin\<Release or Debug>\netcoreapp3.0\<target-os>\publish\
unter Windows.
<PublishSingleFile>true</PublishSingleFile>
Mit CMD können Sie ein .net-Kernprojekt für die Konsole ausführen, wenn das .net-Kern-SDK auf Ihrem Computer installiert ist:
Um ein Konsolenprojekt über die Windows-Befehlszeile auszuführen, wählen Sie den spezifischen Pfad aus Ihrem Verzeichnis aus und geben Sie den folgenden Befehl ein
dotnet laufen