Bauen .exe-Datei in .NET Core RC2
Jedes mal, wenn ich ein Projekt erstellen mit dem neuen .NET Core RC2 Vorlagen, die ich bin nicht mit einem runnable .EXE - Datei. Wenn ich F5 zum Debuggen meiner Konsole-Anwendung, es läuft wunderbar durch die
C:\Program Files\dotnet\dotnet.exe
Anwendung. Und wenn ich die
dotnet run
Befehl in den Ordner, läuft es auch gut. Aber ich sehe keinen Weg, um die Anwendung auszuführen, ohne die .NET-Core-CLI-tools.
Den Inhalt meiner
bin\Debug\netcoreapp1.0\
Ordner sieht wie folgt aus:
Wie Sie sehen können gibt es keine .EXE - Datei zur Verfügung. Nur die dll.
Bin ich etwas Blick? Oder gibt es etwas falsch mit meinem Projekt.json-Datei?
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
Dank!
Die Antwort gibt es für die Verwendung compilationOptions ist veraltet in RC2. Ich versuchte es trotzdem, und es gab das gleiche Ergebnis.
Du hast Recht, sorry. Es sollte
Ja, ich habe versucht das erstellen, ausführen und veröffentlichen-Befehle. Sie alle funktionieren. Ich weiß einfach nicht, erhalten ein .exe-Datei in meinem bin-Ordner oder die zu Grunde liegenden Ordner.
Sie sollen laufen netcoreapp1.0 mit "dotnet yourfile.dll", denke ich. Gut, dass funktioniert bei mir auf beiden windows und WSL völlig in Ordnung.
Du hast Recht, sorry. Es sollte
buildOptions
und schon haben Sie die "emitEntryPoint": true
sollte den trick tun. Hast du versucht manuell ausführen dotnet build
aus der cmd line Fenster? Auch, sind Sie sicher, dass Sie in der richtigen output-Verzeichnis?Ja, ich habe versucht das erstellen, ausführen und veröffentlichen-Befehle. Sie alle funktionieren. Ich weiß einfach nicht, erhalten ein .exe-Datei in meinem bin-Ordner oder die zu Grunde liegenden Ordner.
Sie sollen laufen netcoreapp1.0 mit "dotnet yourfile.dll", denke ich. Gut, dass funktioniert bei mir auf beiden windows und WSL völlig in Ordnung.
InformationsquelleAutor Johannes Heesterman | 2016-05-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich gibt es 2 app-Modelle .NET Core:
Portable apps: stark inspiriert von "DNX-Konsole apps", diese apps produzieren nicht
.exe
- Dateien und sind stattdessen ausgeführt .NET-Core-runtime shared (deren version ist definiert durch dieMicrosoft.NETCore.App
Paket, Dank seiner speziellentype: platform
- Attribut). Die entsprechenden .NET-Core-runtime muss auf dem Rechner installiert sein, um in der Lage sein zu portable apps. Wenn die genaue version nicht gefunden werden kann, wird eine Ausnahme geworfen wird, wenn ausgeführtdotnet run
.Standalone-apps: standalone-apps sind wirklich ähnlich gute alte .NET-Konsolenanwendungen wie Sie produzieren
.exe
- Dateien. Die .NET-Core-runtime muss nicht auf dem Rechner installiert sein, da es direkt eingebunden ist mit der Anwendung selbst.Bist du derzeit mit dem ersten Modell. Verwenden Sie die standalone-Modell, die Sie brauchen, um zu zwicken, Ihr
project.json
:runtimes
Abschnitt, um die Liste der Umgebungen, die Ihre app wird Ziel (e.gwin7-x64
oderubuntu.14.04-x64
). Sie finden die komplette Liste hier.Microsoft.NETCore.App
Abhängigkeit. Sie können ersetzen Sie es durch dieses Paket statt:"NETStandard.Library": "1.5.0-rc2-24027"
.Hier ist ein Beispiel für eine eigenständige app:
Können Sie erklären, ob die
netcoreapp1.0
frameworks Abschnitt ist/ist nicht erforderlich ? Das ist Sie aufgeführt habenSystem.Net.Ping
als Abhängigkeit - könnte das verschoben werden, um die zuvor definiertendependencies
Abschnitt?Weder diese app-Modelle produziert eine single .exe - ich vermute, das ist nur möglich, auf die volle .NET Framework?
eine single .exe-Datei? Du meinst ohne .dll?
tolle Erklärung. Ihre Verbindung zu MS-docs-Listen Linux-Laufzeiten (z.B. debian.8-x64). Kann Sie gebaut werden, die als eigenständige apps?
InformationsquelleAutor Pinpoint
Die Antwort ist in der Dokumentation mit complete Schritte jetzt.
Für ein runnable .EXE-Datei, die unabhängige Bereitstellung verwendet werden soll.
InformationsquelleAutor zwcloud
Erstellen einer lauffähigen Anwendung aus .NET-Core-console-Anwendung, die Sie verwenden können, die dotnet-tool. Führen Sie einfach in dein Projekt-Verzeichnis:
Schafft dies eine standalone-Anwendung (self-contained Bereitstellung; enthält alle notwendigen Bibliotheken konsumieren mindestens 60 MB auf der Festplatte). Natürlich können Sie auch andere Laufzeiten, wie
osx.10.11-x64
oderubuntu.16.04-x64
.Wenn Sie verwendet die Standard-Konfiguration (
New Project -> Console App (.NET Core)
), es gibt keine änderung der Konfigurationsdatei notwendig.InformationsquelleAutor Jack Miller
Schritt 1: entfernen Sie
"type": "platform",
vom Projekt.json unterframeworks
AbschnittSchritt 2: hinzufügen von Laufzeit-Abschnitt zu deinem Projekt.json. Hinweis: jeder Abschnitt, getrennt durch ein Komma. Fügen Sie Ihre Laufzeit. unten ist nur ein Beispiel für win 10.
Schritt 3: dotnet-restore-Befehl auf Ihr Projekt. ( cmd öffnen, gehen Sie zu Ihrem Projekt-Ordner, wo der src-Ordner vorhanden ist, führen dotnet restor)
Schritt 4:
dotnet pack
Schritt 4:
dotnet build -r win10-x64
- oder einfach nur bauen.Schritt 5: Sie können bemerken .exe unter debug/netcore/win10/
InformationsquelleAutor Shankar
In
ASP.NET Core
versuchen Sie, Ihre apptype
zudefault
improject.json
:InformationsquelleAutor Serj Sagan