compilation d'un code source
Répondre à la discussion
Affichage des résultats 1 à 24 sur 24

compilation d'un code source



  1. #1
    electrique10

    compilation d'un code source


    ------

    Bonjour je possède un fichier .sln et un dossier a l'intérieur plusieurs fichiers tel que .cd .cs .csproj .resx et .sln
    c'est le code source d'un logiciel mais je sais pas avec quel outil il faut pour le compiler j'ai bien vu Visual Studio mais impossible de l'installer sous XP
    et je me demandais si il y a pas d'autres logiciel pour réalisé la modification et compilation ?
    Merci

    -----

  2. #2
    Bluedeep

    Re : compilation d'un code source

    Bonjour

    Non, pas vraiment.

    Il s'agit visiblement d'une solution .NET (fichier .sln) avec des projets (fichiers .prj) écrits en C# (fichiers .cs)

    Et VS fonctionne très bien sous XP jusqu'à la version 2010.

    Mais comme on ne sait pas avec quelle version de VS a été créée cette solution (de mémoire, ce n'est pas très difficile à trouver en analysant les fichiers .sln et .proj)

    Sinon, il est toujours possible de compiler hors VS, mais cela suppose une connaissance minimale de l'écosystème .NET, et les questions que tu poses laissent à penser que ce n'est pas vraiment le cas.

  3. #3
    electrique10

    Re : compilation d'un code source

    Merci pour ses infos je vais essayé

  4. #4
    Jack
    Modérateur

    Re : compilation d'un code source

    Avec un peu de chance, il suffit de créer un nouveau projet avec n'importe quelle version de VS fonctionnant sous ton système d'exploitation et d'y inclure les fichiers source (*.cs).

    A+

  5. A voir en vidéo sur Futura
  6. #5
    Bluedeep

    Re : compilation d'un code source

    Citation Envoyé par Jack Voir le message
    Avec un peu de chance, il suffit de créer un nouveau projet avec n'importe quelle version de VS fonctionnant sous ton système d'exploitation et d'y inclure les fichiers source (*.cs).
    C'est une possibilité mais son applicabilité dépend largement de la complexité de la solution.

    En effet, déjà il faudra recréer projet par projet et analyser les anciens fichiers de projet pour déterminer dans quel projet va quelle source (bon courage !!!)

    Par ailleurs tu vas perdre :

    - les references inter-assemblies
    - les paramétres spéciaux de compilation
    - les traitement pre et post-generation
    - les projets de déploiement

    Plus quelques cas "tordus" (notamment si tu as des WF , tu n'as pas de compatibilité descendante au niveau des surfaces de design).

    Bref, un tas de problème peut rendre la solution totalement impraticable.

  7. #6
    electrique10

    Re : compilation d'un code source

    Bonjour et merci mais avec le logiciel Visual Studio 2010 ca fonctionne bien en tous cas j'ai pu compiler le projet et tous fonctionne correctement
    je n'y connait rien en programmation mais j'aurais souhaiter ajouter une fonction supplémentaire au code

    en faite je souhaite savoir comment peut -on vider un carte mémoire SD
    je me suis basé sur du code déjà présent :

    Code:
    itemToDelete = CombinePath(startupPath, @"DOSSIER");
    if (Directory.Exists(itemToDelete))
    Directory.Delete(itemToDelete, true);
    Cette fonction la fonctionne uniquement dans le dossier ou il y a le logiciel mais ne fonctionne pas pour une carte SD
    par contre je peux récupérer la lettre du lecteur en faisant
    Code:
    + deviceSelected +
    car le code pour copier dans la carte SD fonctionne la copie des fichiers se font bien dans la carte SD
    car dans le contenu dans le dossier COPY est bien copié dans la carte SD
    Code:
    CopyFolder(CombinePath(startupPath, "COPY"), deviceSelected);
    infoLabel.Text = "LES FICHIERS ONT ÉTÉ COPIÉS DANS: " + deviceSelected + "";
    infoLabel.ForeColor = Color.Green;

    du coup j'ai tenté d'assemblé les 2 codes en faisant

    Code:
    itemToDelete = CombinePath(startupPath, @"+ deviceSelected +");
    if (Directory.Exists(itemToDelete))
    Directory.Delete(itemToDelete, true);
    Mais cela ne fonctionne pas et je me demandait si vous aviez une solution pour la suppression ?
    Dernière modification par electrique10 ; 26/07/2014 à 10h32.

  8. #7
    electrique10

    Re : compilation d'un code source

    J'ai avancé un peu j'ai écris
    Code:
    itemToDelete = CombinePath(startupPath, @"" + deviceSelected + "TEST");
    if (Directory.Exists(itemToDelete))
    Directory.Delete(itemToDelete, true);
    Ce code fonctionne avec un dossier TEST ca supprime le dossier sans faire bugué le programme
    mais si j'écris sans aucun dossier
    Code:
    itemToDelete = CombinePath(startupPath, @"" + deviceSelected + "");
    if (Directory.Exists(itemToDelete))
    Directory.Delete(itemToDelete, true);
    ca exécute le programme mais j'ai un message d'erreur
    Nom : ERR.PNG
Affichages : 84
Taille : 7,0 Ko

    par contre il efface bien tous les fichiers sur la carte mémoire il y a plus rien
    mais après le programme bug il s'arrete de s'exécuter en me mettant ce message d'erreur
    je comprend pas pourquoi ca fonctionne bien avec en mettant un dossier spécifique mais sans dossier ca ne fonctionne plus correctement

  9. #8
    electrique10

    Re : compilation d'un code source

    Un petit up personne pour m'aider SVP ?

  10. #9
    Jack
    Modérateur

    Re : compilation d'un code source

    je ne vois pas comment tu peux espérer faire disparaître le répertoire racine du disque, çà n'a pas de sens. Ou alors j'ai mal compris ce que tu voulais faire.

  11. #10
    electrique10

    Re : compilation d'un code source

    en faite je voudrait simplement vider la carte mémoire avant de faire d'autres opérations créer dossier copie fichiers etc...
    mais avant de faire cela je voudrait juste la vider

  12. #11
    Jack
    Modérateur

    Re : compilation d'un code source

    le plus rapide serait de la formater à mon avis

  13. #12
    electrique10

    Re : compilation d'un code source

    oui cela peut convenir également mais existe t-il du code pour l'intégrer a Visual Studio pour faire cette opération ?

  14. #13
    Jack
    Modérateur

    Re : compilation d'un code source

    je ne connais pas suffisamment .net pour te répondre. Tu devrais pouvoir trouver des infos sur le net, notamment sur msdn

  15. #14
    electrique10

    Re : compilation d'un code source

    Merci mais j'ai déjà cherché sans succès
    merci quand même

  16. #15
    Jack
    Modérateur

    Re : compilation d'un code source

    Un exemple qui utilise la ligne de commande:
    http://buffernow.com/format-drive-using-c/

  17. #16
    electrique10

    Re : compilation d'un code source

    Merci pour votre aide mais cette solution formate bien mais fait planté le programme ensuite.
    il faudrait que je puisse trouvé pour effacer la carte mémoire avec un minimum de ligne de commande.
    mais bon si j'ai pas cette fonction la c'est pas grave je m'en passerais

  18. #17
    Bluedeep

    Re : compilation d'un code source

    Bonjour

    Citation Envoyé par electrique10 Voir le message
    Bonjour et merci mais avec le logiciel Visual Studio 2010 ca fonctionne bien en tous cas j'ai pu compiler le projet et tous fonctionne correctement
    C'est déjà cela.

    en faite je souhaite savoir comment peut -on vider un carte mémoire SD

    Mais cela ne fonctionne pas et je me demandait si vous aviez une solution pour la suppression ?
    Quand tu dis "cela ne fonctionne pas", désolé mais c'est pas un message d'erreur et c'est un peu léger.

    Que se passe-t-il ? Ca ne compile pas, ca compile mais lève une exception à l'exécution, ou ça s'exécute sans lever d'exception mais ça ne fait rien ?

    Merci d'être plus précis.

  19. #18
    Bluedeep

    Re : compilation d'un code source

    Citation Envoyé par electrique10 Voir le message
    par contre il efface bien tous les fichiers sur la carte mémoire il y a plus rien
    mais après le programme bug il s'arrete de s'exécuter en me mettant ce message d'erreur
    je comprend pas pourquoi ca fonctionne bien avec en mettant un dossier spécifique mais sans dossier ca ne fonctionne plus correctement
    Exécute pas-à-pas sous débugger et dis nous quelle instruction lève l'exception.

    Vérifie sous débugger le contenu des variables itemToDelete et startupPath, et deviceSelected

    Par ailleurs, la construction :

    Code:
    @"" + deviceSelected + ""
    ne sert strictement à rien (pourquoi concaténer deux chaines vides en début et fin d'une autre ?)

  20. #19
    Bluedeep

    Re : compilation d'un code source

    Sinon, si tu veux virer tous les fichiers d'une clefs USB dans tous les répertoires, tu peux écrire une fonction comme ça :

    Code:
            static int DeleteAllFilesAndDirectory(string rootPath)
            {
                int deleteCount = 0;
                string dirRoot = Directory.GetDirectoryRoot(rootPath);
                string[] fileNames = Directory.GetFiles(dirRoot, "*", SearchOption.AllDirectories);
                foreach (string fileName in fileNames)
                {
                    File.Delete(fileName);
                    deleteCount++;
                }
                return deleteCount;
            }
    Tu donne la lettre de drive de la clef (exemple : "E:"), et ça roule.

    C'est un exemple minimaliste, bien sur.

  21. #20
    electrique10

    Re : compilation d'un code source

    alors j'ai testé votre code pour voir mais j'ai ce message d'erreur
    Nom : ERREUR.PNG
Affichages : 75
Taille : 7,5 Ko

    mais je ne sais pas ou placer la variable de ma lettre du lecteur

    je n'y connait rien en programmation mais je sais qu'on peux récupérer la lettre du lecteur via une variable car dans le code il y a des lignes
    se sont pas des ligne qui se suivent dans le code mais ca resemble a ca
    Code:
    CopyFolder(CombinePath(startupPath, "COPY_TO_SD"), deviceSelected);
    infoLabel.Text = "LES FICHIERS ONT ÉTÉ COPIÉS DANS: " + deviceSelected + "";
    Donc j'en déduit que deviceSelected ou + deviceSelected + doit etre la variable de la lettre du lecteur SD

    car si j'écris et qu'on met un dossier TEST dans la carte SD on récupère donc la lettre du lecteur et efface bien le dossier TEST
    Code:
    itemToDelete = CombinePath(startupPath, @"" + deviceSelected + "TEST");
    if (Directory.Exists(itemToDelete))
    Directory.Delete(itemToDelete, true);
    j'ai essayé plusieurs facon certaine efface la carte SD avec une bonne compilation mais j'ai un message d'erreur
    autrement j'ai une erreur de compilation

  22. #21
    Bluedeep

    Re : compilation d'un code source

    Citation Envoyé par electrique10 Voir le message
    alors j'ai testé votre code pour voir mais j'ai ce message d'erreur
    Pièce jointe 254340

    mais je ne sais pas ou placer la variable de ma lettre du lecteur
    Passe le code source complet de ta classe car sinon on va tout droit vers le dialogue de sourds (en effet, moi je ne comprends pas ce que tu veux dire par : "je ne sais pas ou placer la variable de ma lettre du lecteur", sachant qu'en C# comme dans la plus part des langages "C like" l'endroit de déclaration d'une variable a comme impact son scope de visibilité).

  23. #22
    electrique10

    Re : compilation d'un code source

    Code:
    if (!checkBoxCopyToSD.Checked == true)
                {
                    // SUPPRIME LE PROGRAMME TEMPORAIRE
                    itemToDelete = CombinePath(startupPath, @"TEMP.exe");
                    FileDelete(itemToDelete);
    
                    // BOITE DE DIALOGUE
                    DialogResult myDialogResult;
                    myDialogResult = MessageBox.Show("Souhaitez-vous ouvrir le dossier des fichiers ?", this.Text, MessageBoxButtons.YesNo);
    
                    if (myDialogResult == DialogResult.Yes)
                    {
                        Process.Start(CombinePath(startupPath, "COPY_TO_SD"));
                    }
    
                    if (myDialogResult == DialogResult.No)
                    {
                        // SUPPRESSION DU DOSSIER
                        itemToDelete = CombinePath(startupPath, @"COPY_TO_SD");
                        if (Directory.Exists(itemToDelete))
                            Directory.Delete(itemToDelete, true);
    
                    }
    
    
    } else {
    
    
        string deviceSelected = comboBoxDevice.Text.Substring(0, 3);
    
    
    //******************************************
    // FONCTION DE L'EFFACEMENT DE LA CARTE SD
    //****************************************** 
                 
    
        infoLabel.Text = "COPIE DES FICHIERS EN COURS ...";
        infoLabel.ForeColor = Color.Black;
        infoLabel.Update();
    
      
    
                    CopyFolder(CombinePath(startupPath, "COPY_TO_SD"), deviceSelected);
               
                    infoLabel.Text = "LES FICHIERS ONT ÉTÉ COPIÉS DANS: " + deviceSelected + "";
                    infoLabel.ForeColor = Color.Green;
    
    
    
                    // SUPPRESSION DU DOSSIER
                    itemToDelete = CombinePath(startupPath, @"COPY_TO_SD");
                    if (Directory.Exists(itemToDelete))
                        Directory.Delete(itemToDelete, true);
                    itemToDelete = CombinePath(startupPath, @"TEMP.exe");
                    FileDelete(itemToDelete);
    
                    Process.Start(CombinePath(startupPath, "" + deviceSelected + ""));
                }
    
                // FINISH !
            }


    voila c'est un morceau du code mais c'est ou j'ai placer
    //****************************** ************
    // FONCTION DE L'EFFACEMENT DE LA CARTE SD
    //****************************** ************

    ou je doit effacer la carte SD avant de copier les nouveau fichiers
    tous le reste fonctionne il faut juste effacer la carte avant c'est tous

  24. #23
    Bluedeep

    Re : compilation d'un code source

    Je t'ai demandé le code de la classe et tu balances le code d'un bout de méthode.
    Passe au moins la méthode complète; ici on ne voit même pas la déclaration des variables.

  25. #24
    Bluedeep

    Re : compilation d'un code source

    Bonjour

    J'ai aussi un gros doute sur certaines méthodes statiques de classe que tu utilises; peux tu poster la liste des "using" que tu utilises en tête de classe ? Merci.

    Notamment je ne comprends pas comment la méthode CombinePath peut fonctionner sans être préfixé par le nom de la classe statique qui l'implémente, et la logique voudrait que tu utilises la méthode Combine de la classe System.IO.Path, plutôt que CombinePath qui est une méthode de la classe System.VisualBasic.FileIO.File System (une classe d'un NS destiné initialement à assurer certaines compatibilités entre les anciennes version de VB vs VB.Net - son emploi dans le cadre d'une classe C# est donc pas très normal).

    Bref, la programmation de cette classe me semble remplie de verrues plus ou moins bizarres.
    Dernière modification par Bluedeep ; 31/07/2014 à 09h36.

Discussions similaires

  1. Code source C DMX-512
    Par invitec6b43af9 dans le forum Électronique
    Réponses: 29
    Dernier message: 26/09/2011, 20h28
  2. Code source
    Par invitec30423e2 dans le forum Électronique
    Réponses: 5
    Dernier message: 18/03/2011, 17h30
  3. code source SDP
    Par invite29a6e6e6 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/03/2010, 12h13
  4. Code en C pour SHT11 : pb de compilation avec PCW de CCS
    Par lcoulon dans le forum Électronique
    Réponses: 3
    Dernier message: 12/11/2009, 06h08
  5. problème compilation code ccs avec mplab
    Par invite2adf9254 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/06/2009, 09h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.