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?
214
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.
quelle
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.
quelle
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:
-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:
Beispielsweise:
quelle
Mit dotnetcore3.0 können Sie die gesamte Lösung mithilfe der
PublishSingleFile
Eigenschaft in eine ausführbare Datei mit einer einzigen Datei packenQuell- Einzeldateien ausführbare Dateien
Ein Beispiel
Self Contained
,Release
OSX ausführbar:Ein Beispiel
Self Contained
,Debug
Linux 64bit ausführbar: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.quelle
<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
quelle
Stellen Sie vor dem Ausführen der Eingabeaufforderung cmd sicher, dass "appsettings.json" dieselben Werte wie "appsettings.Development.json" hat.
Gehen Sie an der Eingabeaufforderung bis zum Ordner bin / debug / netcoreapp2.0. Führen Sie dann "dotnet applicationname.dll" aus.
quelle