Est-il possible de faire de bureau GUI application .NET de base?
J'ai développé des WinForms programmes pour quelques années. Je suis maintenant à la recherche dans .NET de Base (y compris les ASP.NET Core, MVC). Je suis à la recherche de la nouvelle interface graphique du bureau de la technologie. Dans Visual Studio 2015 mise à jour 3 je ne vois pas d'option pour faire une GUI application dans .NET de Base.
Ce qui me manque?
- Vous devez changer l'angle de voir cette nouvelle plate-forme. Tous les cadres existants, WPF//WinForms UWP/GTK#/Xamarin.Mac/iOS/Android pouvez utiliser le code que vous écrivez sur .NET de Base. Qui permet à la croix-plate-forme de développement, mais pas dans la façon dont vous imaginez.
- Vous dites que je peux construire des Interfaces utilisateur-par exemple - en winforms et l'extrémité arrière de code dans .net de base
- pas de. Les paquets construits sur .NET de Base peuvent être ajoutés comme des références directement.
- L'électron est le chemin à parcourir. Utilisation asp.net derrière une api. Si vous gardez la logique de l'interface utilisateur de la lumière, vous devriez être en mesure de garder la partie la plus importante de la demande sur .net
- Comme un pro conseil, je voudrais mettre à niveau vers Visual Studio 2017 (si possible) ou d'utiliser d'autres outils qui sont disponibles (la CLI et/ou VS Code/Coureur) parce que VS 2015 n'ont pas d'accès .NET Core 2.0 de l'outillage, ce qui va freiner votre développement à l'avenir. Même si tout ce que vous avez à faire est d'expérimenter avec elle.
- Dans la dernière génération Microsoft événement qui leur annoncer la nouvelle à propos de .NET de Base 3. "Le point culminant de .NET Core 3 est un soutien pour les applications de bureau Windows, plus précisément des Formes de Windows, Windows Presentation Framework (WPF), et UWP XAML." Vous pouvez en savoir plus sur elle ici
- Je ne vois pas l'intérêt de UWP. Je veux lancer mon .NET/WPF applications sur Windows et Mac. Je n'ai pas de soins sur Hololens, xbox, surface hub et coll.
- vérifiez ce projet:NBlink je suis en train de travailler sur son basé sur chrome devtools protocole
- Donc, normalement, j'aurais voter pour fermer quelque chose comme cela comme hors-sujet, mais pour l'instant ce stackoverflow question est le top de Google a frappé pour Linux Net Core GUI; thefore je vous donne Eto.Des formes qui est un autre Google a frappé. dotnetcoretutorials.com/2018/03/19/...
Vous devez vous connecter pour publier un commentaire.
Vous n'ont pas manqué de rien. MS livré aucun moyen raisonnable de créer des applications avec interface graphique directement à l'aide .Net de Base jusqu'à ce que .Net Core 3, si UWP (Universal Plate-forme Windows) est en partie construite sur le dessus de .Net De Base.
.Net Core 3.0 inclut le support pour les Winforms et WPF, si c'est uniquement pour Windows.
Pour la croix-plate-forme d'options qui ont été soulevées dans les 2 dernières années, voir les autres réponses.
Vous pouvez utiliser Electron et de fil avec Edge.js resp. électron-bord. Edge.js permet d'électrons (node.js) pour appeler .net dll et vice versa.
De cette façon, vous pouvez écrire le GUI avec HTML, CSS et JavaScript, et l'arrière-plan avec le .net de base. L'électron lui-même est également de la croix-plate-forme et basé sur le navigateur chromium.
Il est maintenant possible d'utiliser Qt/QtQuick/QML avec .NET de Base, à l'aide de Qml.Net.
Il est performant (pas de "pinvoke bavard"), complet et fonctionne sur Linux/OSX/Windows.
Découvrez mon blog pour voir comment il se compare aux autres options là-bas actuellement.
PS: je suis l'auteur.
AvaloniaUI a maintenant un support pour l'exécution sur le dessus de .NET de Base sur Win/OSX/Linux. XAML, des fixations et des modèles de contrôle inclus.
par ex. pour développer sur MacOs avec Coureur:
New Solution
-> (en haut de la Liste des Modèles) ->More Templates
-> BoutonInstall Template...
-> parcourir pour le répertoire où vous cloné les modèles à l'étape 1.Reload
BoutonNew Solution
Liste des Modèles de!Une option consisterait à l'aide d'Électrons avec JavaScript, HTML et CSS pour l'INTERFACE utilisateur et de construire un .Net Core console application qui s'auto-organisent une api web pour le back-end de la logique.
L'électron va démarrer la console de l'application en arrière-plan qui permettra de présenter un service sur localhost:xxxx.
De cette façon, vous pouvez mettre en œuvre toutes les back-end de la logique de l'aide .Net pour être accessible par des requêtes HTTP à partir de JavaScript.
Prendre un coup d'oeil à ce post, il explique comment construire une croix-plate-forme de l'application de bureau avec des Électrons et des .Net De Base et vérifier le code sur github
nous avons codé une solution open source d'électrons avec .net de base: Electron.NET.
https://github.com/ElectronNET/Electron.NET
Profitez-en!
Pour la création de la console de l'INTERFACE utilisateur, vous pouvez utiliser l'interface graphique.cs. Il est open-source (de Miguel, créateur de Xamarin), et fonctionne sur .Net de base sur Windows, Linux & mac os.
Il comporte les éléments suivants:
Exemple de capture d'écran
.NET Core 3 prend en charge la création d'Applications de Bureau Windows. J'ai regardé une démonstration de la technologie, hier, lors de l' .NET de la Conférence. C'est le seul blog que j'ai pu trouver, mais ne illustrent ce point: https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
tl;dr - je ne suis pas sûr qu'il serait possible pour l' .NET Core devs de fournir une plate-forme de GUI cadre.
Je me sens comme s'attendent une plate-forme de GUI cadre pour être intégrés dans les actes officiels de l'outillage (en particulier une ancienne version de l'outillage - vous de mentionner que vous êtes en cours d'exécution VS 2015 mise à jour 3) pour une première version de .NET de Base est un peu prématuré.
GUI cadres sont vraiment très lourds, et la personne à charge sur les abstractions du matériel déjà présent sur la machine hôte. Sur Windows, il y a généralement un seul gestionnaire de fenêtre (WM) et de l'environnement de bureau (DE) utilisé par la plupart des utilisateurs, mais sur les différentes distributions de Linux qui sont pris en charge, il ya un certain nombre de possible WMs et DEs - accordé à la plupart des utilisateurs vont être à l'aide de X-Server ou Wayland en combinaison avec KDE, Gnome ou XFCE. Mais sans jamais l'installation de Linux est la même.
Le fait que la communauté open source ne peut pas vraiment s'installer sur un "standard" à l'installation d'une VM et DE moyens qu'il serait assez difficile pour la .NET Core devs pour créer une interface graphique, cadre de travail à travers toutes les plates-formes et des combinaisons de des et WMs.
Beaucoup de gens ici ont quelques bonnes suggestions (à partir de l'utilisation ASP.NET de Base à construire une application Web et l'utilisation d'un navigateur à l'inscription d'un tas de croix-plate-forme des cadres). Si vous jetez un oeil à certains de la croix-plate-forme de GUI cadres de la liste, vous verrez comment elles sont abondantes.
Cependant, il ya la lumière au bout du tunnel comme Miguel de Icaza a montré Xamarin de course naïvement sur Linux et MacOS à .NET Conf cette année (2017, si vous lisez ceci dans l'avenir), de sorte qu'il peut être la peine d'essayer que quand il est prêt.
(mais vous aurez besoin de mettre à niveau à partir de VS 2015 à VS 2017 pour accéder à l' .NET Core 2.0 caractéristiques)
C'est une vieille question, mais oui, il est possible de développer de la croix-plate-forme de bureau (GUI) des applications, pour Windows, Linux et macOS, à l'aide de VSCode, .Net de Base, C#, gtk3, gtksharp et Clairière sous le GUI Designer.
Ici est comment.
Vous pouvez développer une application web avec .NET de Base et le MVC et de l'encapsuler dans un Windows universal application JavaScript : https://docs.microsoft.com/en-us/windows/uwp/porting/hwa-create-windows
C'est encore une application web mais c'est un très léger moyen de transformer une application web dans une application de bureau sans avoir à apprendre un nouveau cadre ou/et le réaménagement de l'INTERFACE utilisateur, et il fonctionne très bien.
L'inconvénient est la différence de electron ou ReactXP par exemple, le résultat est une universal app Windows et non pas une croix-plate-forme d'applications de bureau.
Je travaille sur un projet qui pourrait aider: https://github.com/gkmo/CarloSharp
L'application suivante est écrit .net avec l'INTERFACE utilisateur en HTML/JS/CSS (Angulaire)
Oui, c'est possible.
.NET de Base ne dispose pas de tous les composants de l'interface graphique native de l'application de la boîte. Cependant, il existe un package NuGet pour ce qui est appelé Electron.NET, comme par Gregor Biswanger de réponse.
Electron est un cadre qui permet de construire l'interface graphique native des applications sur le dessus de Node.js. Electron.NET est un package NuGet qui vous permet d'utiliser l'électronique et de Node.js à partir de votre .NET code de Base.
La bonne nouvelle est que vous n'avez pas à apprendre le JavaScript, des Électrons ou Node.js afin d'être en mesure d'utiliser le package NuGet. JS fichiers faire exécuter à l'intérieur de votre application, mais ils sont automatiquement générés par le processus de construction.
Tout ce que vous faire est de construire une assez standard ASP.NET Core, MVC, app. La seule différence est que, au lieu de s'exécuter dans le navigateur, il s'exécute en tant que natif de fenêtre d'application. En plus il suffit de quelques lignes de code spécifique à la Electron.NET package, vous n'aurez pas besoin d'apprendre quoi que ce soit au-dessus de ASP.NET Core, MVC.
Cette page fournit un tutoriel sur la façon de l'utiliser. Il contient aussi des liens vers des exemples de dépôts de code.
Necromancing.
Pour le cas particulier de existant applications WinForms:
Il y a une façon - bien que je ne sais pas comment cela fonctionne bien.
Il va comme ceci:
Prendre les WinForms mise en œuvre de la mono.
Port elle pour .NET de Base ou NetStandard.
Recompiler votre WinForms applications sur le nouveau Système.De Windows.Les formulaires.
Régler tout ce qui peut être brisé par NetCore.
Prions pour que mono implémente les pièces dont vous avez besoin sans faille.
(si ça ne marche pas, vous pouvez toujours arrêter de prier, et d'envoyer le mono-projet d'une pull request avec votre correction/patch/fonctionnalité)
Voici mon CoreFX WinForms repo:
https://github.com/ststeiger/System.CoreFX.Forms