Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cross .net

    3 juin 2019 à 18:25:04

    Bonjour, j'ai eu un petit problème lorsque je voulais ajouter un nouveau projet à ma solution, je pense qu'il s'agit d'une incompatibilité entre deux versions, pouvez-vous m'aidez svp ?

    Je cherche à utiliser une fonction dans le netcoreapp (GR) dans le projet .NET FrameWork 4.6.1 (Cyber).

    Project '..\GR\GR.csproj' targets 'netcoreapp2.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.6.1'.Cyber

    • Partager sur Facebook
    • Partager sur Twitter
    "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
      5 juin 2019 à 17:22:07

      A en croire le tableau dans cet article :

      https://stackify.com/net-core-vs-net-framework/

      .NET Core 2.1 est largement trop récent pour le Framework 4.6.1.

      Le plus simple, c'est de mettre un Framework plus récent comme cible du projet "Cyber".

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        8 juin 2019 à 1:07:21

        Merci pour votre réponse, je déjà essayé de mettre une version récente du framwork mais ça n'a pas marché, est-il possible d'exécuter un projet à partir d'un notre projet dans la même solution ?

        Solution X contient deux projets, A (Windows form) et B (console).

        • Partager sur Facebook
        • Partager sur Twitter
        "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
          11 juin 2019 à 9:11:50

          >de mettre une version récente du framwork mais ça n'a pas marché

          Why ?

          >est-il possible d'exécuter un projet à partir d'un notre projet

          Un projet pour créer un exécutable, une Dll, un site web, ça lance pas des "machins".

          Un exécutable peut lancer un autre exécutable, charger une Dll, interroger un site Web, etc...

          Une Solution peut contenir bien des types de projets différents.

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            13 juin 2019 à 10:41:32

            j'ai créé deux classes "Class library .Net Core" et "Class library .Net Standard", chacune contient le même code mais avec un namespace et un nom de classe différent :

            using System;
            
            namespace GR1 // GR2 
            {
                public class Class1 // Class2
                {
                    public int Add(int a, int b)
                    {
                        return (a + b);
                    }
                    public int Sub(int a, int b)
                    {
                        return (a - b);
                    }
                }
            }
            

            Ensuite j'ai rajouté les fichiers dll à mon projet principal "Windows form .Net Framework", et enfin j'ai testé le truc.

            Class1 test1 = new Class1();
            Class2 test2 = new Class2();
            label1.Text = test1.Add(1,1).ToString();
            label2.Text = test2.Add(1,1).ToString();

            Comme prévu j'ai eu un problème de compilation "Unhandled Exception", j'ai donc essayé de tester chaque fichier dll seul

            //.NET Core
            Class1 test1 = new Class1();
            label1.Text = test1.Add(1,1).ToString();

            et

            //.NET Standard
            Class2 test2 = new Class2();
            label2.Text = test2.Add(1,1).ToString();

            En utilisant seulement le .Net Standard tout marche convenablement, mais avec .NET Core c'est différent je reçois toujours la même erreur:

            System.IO.FileLoadException: 'Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)'


            • Partager sur Facebook
            • Partager sur Twitter
            "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
              13 juin 2019 à 11:49:11

              >un problème de compilation "Unhandled Exception",

              Non, c'est un problème à l'exécution, pas à la compilation (ni la préliminaire ni la JIT compilation).

              Dans une exception, il n'y a pas que son type ni le caractère "handlé" ou pas, il y a aussi un message, une stacktrace et même des exceptions incluses ayant les mêmes propriétés que l'englobante, et c'est bien pratique pour savoir précisément quel est le problème. :-°

              Ce que vous rapportez comme problème est cohérent avec mon explication précédente, .NET Core 2.1 est trop récent pour le Framework de votre application hôte.

              Je le répète, le plus simple, c'est d'utiliser un framework plus récent ET compatible avec .NET Core 2.1 comme framework cible de votre programme hôte.

              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                13 juin 2019 à 13:14:24

                Oui c'est vrai ce n'est pas un problème de compilation je n'ai pas trouvé le mot technique, en tout cas j'ai essayé avec la dernière version du framework mais je ne pense pas que c'est un problème au niveau de la version d'après cette figure :

                D'après ce que j'ai compris il faut que je passe d'abord par le .NET Standard mais j'ignore comment y procéder ou même si c'est la bonne méthode à utiliser.

                • Partager sur Facebook
                • Partager sur Twitter
                "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
                  13 juin 2019 à 17:40:21

                  Vous interprétez mal la figure.

                  Elle ne montre que les dépendances entre composants logiciels, pas la compatibilité entre versions de ces différents composants.

                  Pour vous simplifier la vie, pourquoi ne pas faire QUE du .NET Core 2.1 ?

                  -
                  Edité par bacelar 13 juin 2019 à 17:40:35

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                    13 juin 2019 à 18:11:31

                    Je ne peux pas créer une interface graphique avec le .NET Core comme Windows Forms App (.NET Framework), et le ASP.NET est destiné pour créer des applications web hors je fais du desktop.

                    -
                    Edité par Vertinhol 13 juin 2019 à 18:15:06

                    • Partager sur Facebook
                    • Partager sur Twitter
                    "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
                      13 juin 2019 à 20:03:54

                      Vous avez une définition erronée de .NET Core.

                      .NET Core est ce qui est implémenté sur toutes les plateformes supportées par .NET, Winforms compris, si la version de .NET Core est assez "évoluée" (ou la définition des plateformes supportés intelligemment réduite :-°).

                      https://docs.microsoft.com/fr-fr/dotnet/core/porting/winforms

                      Vous devriez avoir une approche plus "systématique".

                      Vous avez les composants nécessaire à l'implémentation de votre solution, vous prenez comme plateforme cible, la plateforme la plus basse de composant le plus exigeant en terme de version de framework.

                      Cela donne une solution qui marche sans problème avec les composants que vous avez choisis et permet d'avoir un ensemble de plateforme cible le plus vaste possible.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                        17 juin 2019 à 6:52:38

                        Je voulais essayer le .Net Core pour avoir accée à l'outil du machine learning de Visual Studio, maintenant que ça commence à se compliquer, j'ai commencé à investir mon temps à refaire ma base de données ainsi que le code du ML sur jupyter, et je ne sais pas par quel miracle j'ai obtenu une précision de 100%.

                        La seule qui me reste à faire est d'intégrer le code python avec la partie windows form et ça je ne sais pas encore comment le faire.

                        • Partager sur Facebook
                        • Partager sur Twitter
                        "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
                          17 juin 2019 à 10:54:49

                          C'est normal qu'il faut un framework récent pour utiliser le Machine Learning de M$.

                          Pourquoi ne pas utiliser un framework "récent" pour la partie IHM ?

                          Vous pourriez avoir la partie ML et IHM dans le même exécutable.

                          Mais bon, il est quand même assez courant de différentier les 2 parties car les contraintes de ces 2 parties sont très différentes.

                          Le plus simple, c'est de laisser chacun dans son coin et de faire en sorte que l'un écrive les résultats dans un fichier et que l'autre les lise dans ce même fichier.

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                            17 juin 2019 à 12:34:11

                            J'utilise déjà la dernière version du framework 4.8 et ça ne marche toujours pas, je pense que Microsoft n'a pas encore bien intégrer le machine learning dans son environnement et je ne veux plus y penser ça me fait mal à la tête xD, de mon coté je vais continuer avec le python, j'ai déjà créé mon code sur jupyter et maintenant je dois construire mon modèle, je vais continuer cette discussion dans une autre section.

                            Merci pour votre aide ^^.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
                              17 juin 2019 à 14:12:31

                              Normalement, .NET Core 3 / Framework 4.8 devrait faire ML + Winforms :

                              https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/

                              Bonne continuation.

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                              Cross .net

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown