Forum Linux.général Installer Visual Studio (Community Edition) sous Wine? Possible ou pas?

Posté par  . Licence CC By‑SA.
3
14
sept.
2021

Bonjour.

Je suis enseignant dans une école supérieure et je dois donner des labos en C#. Je viens de passer quasiment une journée complète à essayer, en vain, d'installer Visual Studio (Community Edition) — puisque c'est le seul outil possible pour développer des applis graphiques en DotNet sous Winbrol. J'ai retenu VS 2013 car, d'après les commentaires que j'ai pu lire sur winehq, les versions ultérieures ne fonctionneraient pas.

Pour éviter de polluer mon installation Manjaro, j'ai préféré me servir d'une machine virtuelle Linux Mint Debian Edition v4. VS 2013 demande .Net 4.5.1 mais WineMono pour la version 4.0-2 de Wine est 4.7 — trop récent, je suppose parce que l'installation de VS 2013 se termine inopinément. J'ai essayé d'installer le framework de Crosoft en version 4.5.1 et il est allé jusqu'au bout. Mais quoi que j'essaie, l'install de VS se termine sans crier gare et ne va pas jusqu'au bout.

Je ne sais plus quoi faire, besoin d'un petit coup de main.

P.S.: J'ai essayé Xamarin / Mono Develop, je m'y suis cassé les dents pendant des semaines, rien n'y fait.

  • # sinon y a plus recent, ca s'appelle "Visual Studio Code"

    Posté par  . Évalué à 4. Dernière modification le 14/09/21 à 19:44.

    qui pourrait remplacer le "My(s)thique" Visual Studio
    et qui te permettra, à toi et tes étudiants d'avoir le meme environnement peut importe la plateforme (OSX, Windows, Linux)

    https://code.visualstudio.com/#alt-downloads

    comme tu auras besoin de toutes les subtilités de microsoft, je ne te propose pas son alternative libre VSCodium ;)

    https://vscodium.com

    • [^] # Re: sinon y a plus recent, ca s'appelle "Visual Studio Code"

      Posté par  . Évalué à 2. Dernière modification le 18/09/21 à 14:52.

      Non.

      Ni VScode ni VSCodium ne permettent de créer des applis graphiques en C#. Je les ai déjà essayés. De ce que j'en ai vu, la seule possibilité est et reste l'usine à gaz Visual Studio.

      Pour info, la bibliothèque dont j'ai besoin (et ça n'est malheureusement pas moi qui ai fixé cette dépendance mais le prof titulaire du cours) est WinForms. Peu importe la version, par contre.

      • [^] # Re: sinon y a plus recent, ca s'appelle "Visual Studio Code"

        Posté par  . Évalué à 3.

        mhhh https://stackoverflow.com/questions/40562192/windows-form-application-on-visual-studio-code
        Le principe des AGL/IDE de type Visual est d'avoir une fenêtre graphique pour poser les composants etc. Derrière, c'est du code classique (pour WinForms il y a le XML définissant le formulaire créé visuellement/graphiquement et le gabarit, C# ici, qui est assez classique Du coup il est possible d'écrire ton appli avec vscodium ou Mono ou n'importe, c'est juste que ce sera un peu à la dure (et non en mode nocode-like alias visual…) Mais bon, je suppose que la cible et l'objectif n'est pas des futur-e-s pro qui sauront ce qu'il y a sous le capot…

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

        • [^] # Re: sinon y a plus recent, ca s'appelle "Visual Studio Code"

          Posté par  . Évalué à 2.

          je suppose que la cible et l'objectif n'est pas des futur-e-s pro qui sauront ce qu'il y a sous le capot

          C'est exact. Je ne vais pas rentrer dans les détails mais l'objectif du cours est d'enseigner les rudiments de programmation et d'algorithmique. Alors, oui, je comprends bien (et je suis d'accord avec ça) : pourquoi diable s'écharper (ha… ha… ha) avec Visual Studio au lieu de viser la portabilité?

          Si le choix n'avait dépendu que de moi, j'aurais enseigné Python mais le cours était déjà fait et je suis tombé comme un cheveu dans la soupe en plein milieu d'année. Je dois donc faire avec le pire avant de passer au meilleur. Enseigner comment écrire les fichiers XML à la main ne fait pas partie du cursus, surtout que les étudiants découvrent ce qu'est la programmation.

  • # monodevelop

    Posté par  . Évalué à 4.

    C'est peut-être hors sujet compte tenu du titre, mais vu que le problème semble être "développer des applis graphiques en DotNet sous Winbrol" je me suis dit que, peut-être, il ferait le job: https://www.monodevelop.com

    Je connais pas, après, hein.

    • [^] # Re: monodevelop

      Posté par  . Évalué à 2.

      C'est bien pour ça que j'ai précisé que je me suis cassé les dents avec ce truc-là. Les dépôts de monodevelop ne sont plus à jour et l'installation ne fonctionne pas. J'ai suivi et recommencé plusieurs fois la procédure d'installation, avec plusieurs machines virtuelles (Arch, Manjaro, Debian, Mint, LMDE) et rien à faire, ce truc ne s'installe pas car le paquet monodevelop n'est plus dans les dépôts.

      La seule fois où j'ai réussi à installer un semblant de monodevelop, c'est pour constater que le concepteur graphique est complètement beugué et ne fonctionnait pas du tout. Je ne me souviens plus comment je suis arrivé à ce (pitoyable cependant) résultat, par contre. Mais de toutes façons, c'est un échec retentissant.

      Si tu as un tuto qui fonctionne (je veux dire: vraiment), par contre, je suis preneur.

      • [^] # Re: monodevelop

        Posté par  . Évalué à 2. Dernière modification le 19/09/21 à 19:17.

        C'est bien pour ça que j'ai précisé que je me suis cassé les dents avec ce truc-là.

        Désolé, j'ai bien vu que tu avais essayé WineMono dans le post d'ouverture, mais pas monodevelop.
        Et comme j'ai dis "Je connais pas, après, hein." l'idée était juste de donner une piste :)

        [edit]
        Et pour répondre à ta réponse d'après: de rien. C'était vraiment pour donner une piste, sans savoir si elle serait bonne ou pas.

    • [^] # Re: monodevelop

      Posté par  . Évalué à 2.

      Par acquit de conscience, je suis allé vérifier et je suis enfin parvenu à installer et à faire fonctionner MonoDevelop! Visiblement, le dépôt a été remis "en état". Je me suis servi des indications pour Debian Buster (le socle de LMDE 4) et tout fonctionne.

      Bon, je vois que c'est l'environnement GTK# qui sert les composants visuels et les noms sont un poil différents de ceux de Visual Studio (donc WinForms, je présume) mais ça m'est complètement égal! Au moins j'ai quelque chose qui fonctionne. Donc merci de me l'avoir rappelé.

  • # Visual Studio est évalué en qualité poubelle dans la base de données des applications de Wine

    Posté par  (site Web personnel) . Évalué à 8. Dernière modification le 15/09/21 à 10:51.

    La base de données des applications Wine évalue Visual Studio en qualité poubelle. C'est à dire que des problèmes sont suffisamment graves pour que Visual Studio ne puisse pas être utilisé aux fins pour lesquelles il a été conçu.

    Les définitions de l'évaluation de la base de données des applications Wine sont :

    • Platine : fonctionne aussi bien que (ou mieux que) sous Windows dès l'installation.
    • Or : fonctionne aussi bien (ou mieux) que sous Windows avec des solutions de contournement.
    • Argent : fonctionne parfaitement pour une utilisation normale, mais présente quelques problèmes pour lesquels il n'existe pas de solutions de contournement.
    • Bronze : fonctionne, mais présente quelques problèmes pour une utilisation normale.
    • Poubelle : les problèmes sont suffisamment graves pour que le produit ne puisse pas être utilisé aux fins pour lesquelles il a été conçu.

    Donc je ne me ferai pas trop d'illusions quand aux chances de faire fonctionner Visual Studio sur GNU/Linux. Mieux vaut trouver une alternative.

    • [^] # Re: Visual Studio est évalué en qualité poubelle dans la base de données des applications de Wine

      Posté par  . Évalué à 2.

      Donc je ne me ferai pas trop d'illusions quand aux chances de faire fonctionner Visual Studio sur GNU/Linux. Mieux vaut trouver une alternative.

      Bon, ben… tu confirmes en effet ma pire crainte… Ça sentait mauvais, très mauvais dès le départ, à ce que je vois. J'ai fait le même constat depuis cette page mais comme le nombre d'entrées est extraordinairement faible sur les retours (de 1 à 4 signalements), j'espérais que ça ne témoigne pas de la ligne générale.

      Fait chier. Vraiment.

  • # Visual Studio Code + Powershell ?

    Posté par  (site Web personnel) . Évalué à 1.

    • [^] # Re: Visual Studio Code + Powershell ?

      Posté par  (site Web personnel) . Évalué à 1.

      Zut !

      J'ai lu trop vite, ça ne s'utilise pas en C#, semble-t-il.

      Désolé.

      • [^] # Re: Visual Studio Code + Powershell ?

        Posté par  . Évalué à 2.

        Ça présente les WPF et leur utilisation en PS. Mais de mémoire c'est utilisé aussi en dans les autres langages (dont C#) mais juste pas de la même façon…

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

    • [^] # Re: Visual Studio Code + Powershell ?

      Posté par  . Évalué à 2. Dernière modification le 18/09/21 à 15:12.

      Ce n'est malheureusement pas possible. L'état du cours est tel que c'est l'environnement Visual Studio qui est illustré dans les pages et les diapos, avec captures d'écran et tout le bazar. Je n'ai donc pas d'alternative possible. Je dois utiliser Visual Studio et illustrer aux étudiants comment l'environnement fonctionne, avec sa pelletée de contrôles graphiques.

      • [^] # Re: Visual Studio Code + Powershell ?

        Posté par  . Évalué à 1.

        Il te faut alors demander un poste dédié au cours et qui sera équipé de tout ce qu'il faut.

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

        • [^] # Re: Visual Studio Code + Powershell ?

          Posté par  . Évalué à 2.

          Je vois ce que tu veux dire. Mais non. De toute façon, c'est déjà le cas mais pour des raisons que je n'exposerai pas, ça ne constitue pas une solution et c'est hors sujet (ma question portant sur l'aspect technique de l'installation de VS sous Linux, pas sur l'aspect organisationnel du cours).

          • [^] # Re: Visual Studio Code + Powershell ?

            Posté par  . Évalué à 4.

            ma question portant sur l'aspect technique de l'installation de VS sous Linux, pas sur l'aspect organisationnel du cours)

            Pourtant ca devrait.
            Toi tu as deja galéré à installer un truc pour leur faire le cours

            mais tes élèves, ils vont faire comment une fois chez eux ?
            tous ne sont pas sous windows à la maison,
            certains seront sous linux, d'autres sous OSX…

            comment feront-ils leurs recherches ? leurs devoirs ?

            ca me fait penser quand je travaillais avec les écoles (maternelles et primaires cela dit) et où les professeurs me disaient nécessité d'avoir word/excel sur les ordis de l'école, car :

            1°) ils ont été formés dessus
            2°) le programme leur demande d'enseigner word/excel (en réalité traitement de texte et tableur)

            et ils ne se demandaient pas comment l'élève aller faire ses devoirs à la maison à moins de pirater la suite office.

            heureusement l'argent à parler, quand j'ai évoqué le fait de devoir dépenser le prix de 2 ordinateurs pour acheter les licences office pour les 8 premiers ordis, et de devoir alors mettre 3 enfants par ordi faute d'ordi supplémentaire

            finalement on a mis 10 ordi et openoffice (libreoffice n'existait pas encore)

  • # Machine virtuelle

    Posté par  . Évalué à 5.

    Pourquoi n'installes-tu pas windows dans ta machine virtuelle au lieu de Linux Mint Debian Edition?
    Ce serait plus simple pour y installer Visual Studio.

    • [^] # Re: Machine virtuelle

      Posté par  . Évalué à 2.

      C'est un problème de place avec ma machine actuelle. Et renouveler un PC pour un outil, qui demande de changer de machine pour des raisons d'espace disque, avant d'envisager ça, je préfère vérifier les autres options. Il y a encore l'option de changer le disque, je le reconnais. L'autre hic est que mon ordi est relativement vieux (>7 ans) et j'ignore quelle version de Windows est "compatible".

      • [^] # Re: Machine virtuelle

        Posté par  . Évalué à 2. Dernière modification le 24/10/21 à 08:36.

        Sinon tu as Rider qui est vraiment bien en équivalent de Visual pour Linux ou Mac, paraît-il.

        Edit: Pour les applications graphiques, j'utiliserais AvaloniaUI, avec, si Rider ne propose pas de Designer, Live.Avalonia pour profiter du Hot Reload, à défaut d'avoir le designer apporté par l'extension Avalonia pour VS 2019 ni de designer dans Rider.

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

      • [^] # Re: Machine virtuelle

        Posté par  . Évalué à 2.

        Pour Rider, voici l'extension en cours de développement pour apporter un Designer pour AvaloniaUI:
        https://github.com/ForNeVeR/AvaloniaRider

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

  • # Sinon tu peux faire des applications Web entièrement en C#

    Posté par  . Évalué à 2.

    Une application Blazor WASM dans VSCode avec Hot Reload (au travars de dotnet watch), ça se tente bien.

    Ce serait graphique (HTML5) directement dans le navigateur, sans s'emmerder avec des concepts tels que MVC grâce à Blazor. Le tout en C# pour la partie cliente et serveur. Et avec une vue direct des modifications grâce à Hot Reload.

    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

    • [^] # Re: Sinon tu peux faire des applications Web entièrement en C#

      Posté par  . Évalué à 2.

      J'ai absolument aucune idée de ce que c'est ce truc… Tu as des captures d'écran, que je voies ça d'un peu plus… près?

      • [^] # Re: Sinon tu peux faire des applications Web entièrement en C#

        Posté par  . Évalué à 3.

        Pour ton besoin (avoir une expérience de Rapid Application Development à la Windows Forms pour des débutants), le mieux est Rider (l'IDE de JetBrains gratuit pour sa version Community), c'est AvaloniaUI.

        Quelques arguments :

        • Rider est disponible partout. De même pour .NET 6 SDK.
        • Rider a un Designer sous forme de plugin pour AvaloniaUI, qui permet d'éviter de connaître XAML. Mais je n'ai pas testé. Plus d'infos et de screenshots ici.
        • Hot Reload permet de modifier l'application pendant qu'on la débogue. Cela permet de développer plus vite.

        Ou en vidéo:
        https://www.youtube.com/watch?v=kZCIporjJ70
        "Building Engaging Cross Platform Applications using Rider and Avalonia"

        Quant à Blazor est surtout pour les développeurs et ceux qui connaissent au moins HTML5. Mais voici une démo dans le navigateur utilisant là aussi Hot Reload :

        https://www.youtube.com/watch?v=3LJDMAOm8JU
        "Blazor Hot Reload in .NET 6"

        L'avantage c'est que HTML c'est bien plus répandu que XAML. Et là, le navigateur fait office de vue "en live" que donnerait le Designer. Mais il n'y a pas de glisser-dépôser d'élélements, comme on peut le faire avec un Designer… Bref, les deux ont leurs arguements.

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

        • [^] # Re: Sinon tu peux faire des applications Web entièrement en C#

          Posté par  . Évalué à 3.

          Merci.

          Je crois que je commence à comprendre ta suggestion. Je suis cependant confronté à un dilemme: je ne suis pas chargé du cours et je travaille en tandem avec l'enseignant qui a choisi Visual Studio pour le cours. Donc soit je lui demande de changer d'outil, soit je me mets à Windows, pour les raisons que tu imagines (et me servir de Visual Studio ne m'enchante pas plus que ça même si c'est un truc "teeeeeeellement répandu"), ou bien je trouve une solution qui me permette de rester cohérent avec la matière du cours (qui est déjà rédigé).

          Je ne suis évidemment pas contre le fait de suggérer à mon collègue de changer d'outil, surtout si cette solution a pour Net (ha ha) avantage d'être inter-plateforme. Mais ça ne va pas se faire en quelques jours, ni même en quelques semaines. Ça va nous demander d'étudier la question en profondeur.

          Merci encore pour tes suggestions, je vais les étudier. Au moins, ça me donne une bonne piste à investiguer.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.