Ist es möglich, eine Desktop-GUI-Anwendung im .NET-Core zu erstellen?
ich habe die Entwicklung von winforms-Programmen ist für einige Jahre.ich bin jetzt auf der Suche in .NET core (einschließlich ASP.NET Kern MVC).ich bin auf der Suche nach dem neuen GUI-desktop-Technologie.in visual studio 2015 update 3 kann ich nicht sehen, eine option, um eine GUI-app .NET core. was bin ich ?
InformationsquelleAutor der Frage EKanadily | 2016-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist an nichts fehlt. Derzeit gibt es keine sinnvolle Möglichkeit zum erstellen von GUI-Anwendungen direkt mit .Net Core.
Wenn UWP (Universal-Windows-Plattform) ist teilweise gebaut auf der Oberseite .Net Core.
InformationsquelleAutor der Antwort svick
Könnten Sie Elektron und wire es mit Edge.js resp. Elektron-edge. Edge.js ermöglicht den Elektronen - (node.js) zu nennen .net dll ' s und Umgekehrt.
Auf diese Weise können Sie die GUI mit HTML, CSS und JavaScript und den backend mit .net core. Elektron selbst ist auch cross-Plattform und basiert auf der chromium-browser.
InformationsquelleAutor der Antwort P. Wenger
Wäre eine option werden mit Hilfe der Elektronen-mit JavaScript, HTML und CSS für die Benutzeroberfläche und bauen Sie ein .Net-Core-console-Anwendung, die selbst-hosten einer web-api für die back-end-Logik.
Elektrons starten Sie die Konsole-Anwendung auf dem hintergrund, dass ein Dienst auf localhost:xxxx.
Diese Weise können Sie alle implementieren back-end-Logik mit .Netto, zugänglich über HTTP requests aus JavaScript.
Werfen Sie einen Blick auf diese post, es erklärt wie man einen cross-Plattform-desktop-Anwendung, mit Elektron .Net Core und überprüfen Sie code auf github
InformationsquelleAutor der Antwort Rui Figueiredo
AvaloniaUI jetzt hat Unterstützung für das laufen auf der Oberseite .NET Core auf Win/OSX/Linux. XAML-bindings und Kontrolle Vorlagen enthalten.
InformationsquelleAutor der Antwort kekekeks
wir codiert ein open-source-Lösung für Elektron .net core: Electron.NET.
https://github.com/ElectronNET/Electron.NET
Genießen!
InformationsquelleAutor der Antwort Gregor Biswanger
tl;dr - ich bin mir nicht sicher, dass es möglich wäre, für die .NET-Core-Entwickler zu liefern, eine cross-Plattform-GUI-framework.
Fühle ich mich wie zu erwarten, ein cross-Plattform-GUI-framework gebündelt werden, die in den offiziellen tooling (vor allem eine alte version des Tools, die Sie erwähnen, dass Sie VS 2015 update 3) für eine frühe version .NET Core ist ein wenig verfrüht.
GUI-frameworks sind wirklich ziemlich schwer, und abhängig von der hardware-Abstraktionen, die bereits auf dem host-Rechner. Unter Windows gibt es in der Regel eine single-window-manager (WM) und desktop-Umgebung (DE), die von den meisten Nutzern, aber auch auf die vielen verschiedenen Distributionen von Linux unterstützt werden, gibt es eine Reihe von möglichen WMs und DEs - zugegeben die meisten Benutzer werden entweder mit X-Server oder Wayland in Kombination mit KDE, Gnome oder XFCE. Aber nicht immer Linux-installation ist die gleiche.
Die Tatsache, dass die open-source-community kann nicht wirklich sich auf eine "standard" - setup für eine VM und DE bedeutet, dass es Recht schwierig sein würde für das .NET-Core-Entwickler zum erstellen von GUI-framework, das funktioniert auf allen Plattformen und Kombinationen von des und WMs.
Viele Leute hier haben einige tolle Anregungen (aus der Nutzung ASP.NET Kern, baut sich eine Web-Anwendung und verwenden Sie einen browser, um die Auflistung einer Reihe von cross-Plattform-frameworks). Wenn Sie einen Blick auf einige der erwähnten cross-Plattform-GUI-frameworks aufgelistet, Sie werden sehen, wie schwer Sie sind.
Aber es ist Licht am Ende des Tunnels als Miguel de Icaza zeigte Xamarin ausgeführt naiv auf Linux und MacOS an .NET Conf in diesem Jahr (2017, wenn Sie dies Lesen, in der Zukunft), so könnte es einen Versuch Wert, wenn es fertig ist.
(aber Sie brauchen, um ein upgrade von VS 2015 VS 2017 für den Zugriff auf .NET-Core-2.0-features)
InformationsquelleAutor der Antwort Jamie Taylor
Könnten Sie die Entwicklung einer web-Anwendung mit .NET Core und MVC und Kapseln Sie in einer universellen Windows-JavaScript-app : https://docs.microsoft.com/en-us/windows/uwp/porting/hwa-create-windows
Es ist immer noch eine web-app, aber es ist eine sehr leichte Art und Weise zu verändern, eine web-app in einer desktop-app, ohne zu lernen, einen neuen Rahmen oder/und der Neuentwicklung der Benutzeroberfläche, und es funktioniert Super.
Der Nachteil ist im Gegensatz zu Elektron oder ReactXP zum Beispiel, das Ergebnis ist eine Universelle Windows-app, und nicht ein cross-Plattform-desktop-app.
InformationsquelleAutor der Antwort AdrienTorris
Ja, es ist möglich.
.NET Core nicht alle Komponenten für native GUI-Anwendung aus der box. Jedoch, es wird ein NuGet-Paket für Sie, die aufgerufen wird,Electron.NETals pro Gregor Biswanger Antwort.
Elektron ist ein framework, das ermöglicht den Bau von native GUI-Anwendungen auf Node.js. Electron.NET wird ein NuGet-Paket, das Ihnen erlaubt zu nutzen, Elektronen-und Node.js innerhalb Ihrer .NET-Core-code.
Die gute Nachricht ist, dass Sie nicht haben, um zu lernen, JavaScript -, Elektronen-oder Node.js um der Lage sein, verwenden Sie das NuGet-Paket. JS-Dateien in Ihrer Anwendung, aber Sie bekommen automatisch generiert, durch den build-Prozess.
Alles, was Sie tun ist, bauen eine ziemlich standard ASP.NET Kern MVC-app. Der einzige Unterschied ist, dass anstelle der im browser ausgeführt wird, es läuft als native Fenster-app. Neben nur ein paar Zeilen code die Electron.NET Paket, werden Sie nicht brauchen, etwas zu lernen, über ASP.NET Kern MVC.
Auf dieser Seite bietet eine Anleitung, wie es zu benutzen. Es enthält auch einige links zu Beispiel-code-repositories.
InformationsquelleAutor der Antwort Fiodar Sazanavets
Ist es nun möglich, die Verwendung von Qt/QtQuick/QML .NET Core, mit Qml.Net.
Ist es sehr performant (nicht "pinvoke gesprächig"), komplett ausgestattet und funktioniert auf Linux/OSX/Windows.
Check-out mein blog-postum zu sehen, wie es im Vergleich zu den anderen Optionen gibt derzeit.
PS: ich bin der Autor.
InformationsquelleAutor der Antwort Paul Knopf
.NET Core 3 wird Unterstützung für die Erstellung von Windows-Desktop-Anwendungen. Ich sah eine demo der Technologie von gestern, während der .NET-Konferenz. Dies ist das einzige blog-post, den ich finden konnte, aber nicht deutlich: https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
InformationsquelleAutor der Antwort Alex Dresko
Necromancing.
Für den speziellen Fall der bestehende WinForms-Anwendungen:
Gibt es eine Möglichkeit - obwohl ich nicht weiß, wie gut es funktioniert.
Es geht wie folgt:
Nehmen Sie die WinForms-Implementierung mono.
Port .NET Core oder NetStandard.
Kompilieren Sie Ihre WinForms-Anwendungen, die gegen das neue System.Windows.- Formen.
Reparieren was gebrochen werden kann, indem NetCore.
Beten Sie, dass mono implementiert die Teile, die Sie brauchen, einwandfrei.
(wenn es nicht, Sie können immer aufhören zu beten, und senden Sie das mono-Projekt einen pull-request mit dem fix/patch/feature)
Hier mein CoreFX WinForms-repo:
https://github.com/ststeiger/System.CoreFX.Forms
InformationsquelleAutor der Antwort Stefan Steiger