IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Utiliser son programme console [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut Utiliser son programme console
    Bonjour,

    J'ai développé un programme console en C# est j'essaye de l'utiliser sur un autre ordinateur. Et j'ai une erreur lorsque j'essaye de lancer l'appli par le fichier .exe dans bin/Debug.

    " Unhandled Exception: System.argumentExeption: The directory directory name c/blabla is invalid.
    at system.IO.FileSystemWatcher.....
    "

    Évidemment j'ai vérifier les liens de mon programme et les aient modifier via notepad.

    Avez vous une idée pour mon problème?

    Merci d'avance,

    Benmaster

  2. #2
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    Pourrais-tu afficher l'erreur complète, notamment la pile des erreurs qui est intéressante ?
    "C'est tellement merdique que toute modification est une amélioration !"

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    bsr

    vu que le filesystemWatcher écoute un répertoire, il se pourrait que le répertoire surveillé soit :

    - N'existe pas
    - Un répertoire système ou demandant des droits administrateurs que tu n'as pas
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut Droits d’accès, liens...
    Bonjour,

    Merci pour vos infos je vous met le message d'erreur en piece jointe.

    Je suis en train de vérifier les droit d’accès a mes dossiers, mais je ne pense pas que ce soit uniquement ça. J'avais déjà change le lien de FileSystemWatcher, je ne pense pas que le problème vienne de cette méthode, car cette erreur me met aussi un lien vers le ficher "program.cs" mon fichier principal(Main).

    Le message d'erreur m'affiche aussi le lien vers le dossier debug de mon ordi de développement. Je ne sais pas comment appelé ce type d'erreur mais je pense que ça viens plus du "lancement du programme" que d'une méthode.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    using System.Security.Permissions;
    using System.Xml.Serialization;
    using System.Net;
     
    namespace GatewayMonitor
    {
        class Program
        {
     
            static void Main(string[] args)
            {
                Console.WriteLine("Tap Enter at any time to finish the project");
                CreateWatcher();
                Console.ReadLine();
            }
     
     
            static public void CreateWatcher()
            {
                //Create a new FileSystemWatcher.
                FileSystemWatcher watcher = new FileSystemWatcher();
     
                //Set the filter to only catch TXT files.
                watcher.Filter = "*.xml";
     
                //Subscribe to the Created event.
                watcher.Created += new FileSystemEventHandler(watcher_FileCreated);
                watcher.Changed += new FileSystemEventHandler(watcher_FileChanged);
                watcher.Deleted += new FileSystemEventHandler(watcher_FileDeleted);
                watcher.Renamed += new RenamedEventHandler(watcher_FileRenamed);
     
                //Set the path 
                watcher.Path = @"C:\Users\User\Desktop\GatewayMonitor\GatewayMonitor\GatewayMonitor\bin\Debug"; // LIEN VERS MON DOSSIER A ANALYSER 
     
                //Enable the FileSystemWatcher events.
                watcher.EnableRaisingEvents = true;
            }
     
     
            static public void watcher_FileCreated(object sender, FileSystemEventArgs e)
            {
                //A new .TXT file has been created in C:\Temp\
                Console.WriteLine("A new *.xml file has been Created!");
            }
     
     
            static public void watcher_FileChanged(object sender, FileSystemEventArgs e)
            {
                //A new .TXT file has been created in C:\Temp\
                Console.WriteLine("A *.xml file has been Changed!");
     
                // -------------------- POST --------------------
                // De-serialise 
                XmlSerializer xs = new XmlSerializer(typeof(LifeTouchHeartRatePayload));
                using (StreamReader rd = new StreamReader("LifeTouch_226_HeartRate.xml"))
                {
                    LifeTouchHeartRatePayload LHRP = xs.Deserialize(rd) as LifeTouchHeartRatePayload;
                    int localid = LHRP.Gateway_Info.LocalID;
                    string softwareversion = LHRP.Gateway_Info.SoftwareVersion.ToString();
                    string sessionid = LHRP.Gateway_Info.SessionID.ToString();
                    DateTime timestamp = Convert.ToDateTime(LHRP.Gateway_Info.TimeStamp); // "2013-12-31T12:59:59";
     
                    // Parameters
                    string adress = "http://localhost:55867/xml/reply/LifeTouchHeartRatePayload";
                    string Sendingxml = String.Format("<LifeTouchHeartRatePayload xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.datacontract.org/2004/07/ServiceStack.LifeTouchHeartRatePayload\"><Id>0</Id><gateway_info xmlns:d2p1=\"http://schemas.servicestack.net/types\" /><localid>{0}</localid><sessionid>{1}</sessionid><softwareversion>{2}</softwareversion><timestamp>{3:yyyy-mm-dd}T{4:HH:mm:ss}</timestamp></LifeTouchHeartRatePayload>", localid, sessionid, softwareversion, timestamp, timestamp);
                    Console.WriteLine(Sendingxml);
                    // -------------------------- Post data ---------------------------
     
                    ClassPost(adress, Sendingxml);
                    Console.ReadLine();
     
                } // End using Deserialize
     
            } // End watcher_FileChanged
     
     
            static public void watcher_FileDeleted(object sender, FileSystemEventArgs e)
            {
                //A new .TXT file has been created in C:\Temp\
                Console.WriteLine("A *.xml file has been Deleted!");
            }
     
     
            static public void watcher_FileRenamed(object sender, FileSystemEventArgs e)
            {
                //A new .TXT file has been created in C:\Temp\
                Console.WriteLine("A *.xml file has been Renamed!");
            }
     
     
            private static void ClassPost(string adress, string Sendingxml)
            {
     
                // Create a request using a URL that can receive a post. 
                WebRequest request = WebRequest.Create(adress);
                // Set the Method property of the request to POST.
                request.Method = "POST";
     
                // Create POST data and convert it to a byte array.
                //byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                byte[] byteArray = Encoding.UTF8.GetBytes(Sendingxml.ToString());
                // Set the ContentType property of the WebRequest.
                //request.ContentType = "application/x-www-form-urlencoded; encoding='utf-8'";
                request.ContentType = "application/xml";
                // Set the ContentLength property of the WebRequest.
                request.ContentLength = byteArray.Length;
                // Get the request stream.
                Stream dataStream = request.GetRequestStream();
                // Write the data to the request stream.
                dataStream.Write(byteArray, 0, byteArray.Length);
                // Close the Stream object.
                dataStream.Close();
                // Get the response.
                WebResponse response = request.GetResponse();
                // Display the status.
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                // Get the stream containing content returned by the server.
                dataStream = response.GetResponseStream();
                // Open the stream using a StreamReader for easy access.
                StreamReader reader = new StreamReader(dataStream);
                // Read the content.
                string responseFromServer = reader.ReadToEnd();
                // Display the content.
                Console.WriteLine(responseFromServer);
                // Clean up the streams.
                reader.Close();
                dataStream.Close();
                response.Close();
                Console.ReadLine();
            } // End Main
     
     
        } // End program
    }
    Merci pour vos réponses, je continue de creuser
    Images attachées Images attachées  

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 46
    Points : 40
    Points
    40
    Par défaut Resolu
    Problème résolu c'était bien une histoire de lien, je devais juste compiler mon programme avec le lien de l'ordi sur lequel j’exécute mon programme.

    Merci pour vos conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser son programme sur un autre pc
    Par CliffeCSTL dans le forum Visual Studio
    Réponses: 10
    Dernier message: 08/01/2013, 21h08
  2. Comment ouvrir son Programme sans utiliser Dev-C++?
    Par Neferious dans le forum Dev-C++
    Réponses: 8
    Dernier message: 21/07/2008, 14h22
  3. Affichage et utilisation de la console dans un programme GUI
    Par mchk0123 dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/04/2007, 14h17
  4. Mettre son programme dans Envoyer Vers ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 11
    Dernier message: 29/07/2003, 19h09
  5. Réponses: 13
    Dernier message: 11/05/2003, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo