ερώτηση για το mono

malos | Κυρ, 01/13/2008 - 23:27 | 2' | 3

Μπορεί κάποιος να μου πει που κάνω λάθος στο κώδικα.
Προσπαθώ να μάθω το mono και γράφω σύμφωνα με τις οδηγίες του τεύχους 15 του περιοδικού (Σχετικά με το πρόγραμμα που ψάχνει σε ένα υστημα αρχείων και κρατάει ευρετήριο με κάθε αρχείο που βρίσκει)

Πατάω όμως F5 και παίρνω αυτό το μύνημα :


19  The name `Console' does not exist in the current context(CS0103)] Main.cs  /home/malos/Projects.Snarf

Ο κώδικας αν τον κατάλαβα καλά είναι αυτός :

// Main.cs created with MonoDevelop
// User: malos at 3:25 Μ 11/11/2007
//
// To change standard headers go to Edit->Preferences->Coding->Standard Headers
//
// project created on 11/11/2007 at 3:25 Μ
using System.IO;

namespace Snarf
{
    class Snarf
    {
        public static void Main()
       
           
            {
                string myfile=File.ReadAllText('myfile.txt');
                {
                    Console.Write(myfile);
                }
            }   
       
    }
}

Να σημειώσω ότι δεν έχω προσθέσει κανένα πακέτο και τρέχω κατευθείαν το mono develop της suse 10.3 όπως την εγκατέστησα.

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Ο κωδικός σφάλματος CS0103 που σου δίνει σημαίνει ότι δεν υπάρχει η κλάση που καλείς στο βιβλιοθήκη που έχεις ορίσει (System.IO).

Πρώτον βεβαιώσου ότι στο μενού
Project - > Options -> General -> Runtime Options -> Runtime version
έχεις επιλέξει το 2.0 και όχι το προεπιλεγμένο 1.1.

Δεύτερον οι αγκύλες στις παρακάτω γραμμές

string myfile=File.ReadAllText("myfile.txt");
                linuxformat_
                    Console.Write(myfile);
               

είναι άχρηστες.

Τρίτον πρέπει να δηλώσεις και την System, όχι μόνο την  System.IO.

Δηλαδή συνολικά  ο κώδικας είναι :

using System;
using System.IO;

namespace Snarf
linuxformat_
    class Snarf
    linuxformat_
        public static void Main(string[] args)
        linuxformat_
            string myfile=File.ReadAllText("myfile.txt");
            Console.Write(myfile);
       
   

Τέλος στον φάκελο /home/user/Projects/mono/Snarf/Snarf/bin/Debug πρέπει να υπάρχει το αρχείο που καλείς myfile.txt αλλιώς θα πάρεις νέο μύνημα σφάλματος.


otttx332007-11-12 19:11:33

Ευχαριστώ πολύ.!
Το myfile.txt το είχα μέσα στο φάκελο Snarf ,έτσι λέει το περιοδικό, για  να είναι στο ριζικό  φάκελο του  project.  Παρατήρησα  όμως, ενώ αφαίρεσα το /bin/debug από την επιλογή output path ( Project - > Options -> Debug -> Output, ότι  το έψαχνε στο /home/user/Projects/Snarf/bin/release/Debug/myfile.txt.
έκανα και τα άλλα που είπες (αν και δεν καταλαβαίνω πότε θέλει τα άγκιστρα) και όλα καλά.
Θα συνεχίσω.

Αγκιστρα θέλει όταν έχουμε καινούργιο αντικείμενο ή μέθοδο

Δηλαδή:

namespace Snarf
linuxformat_

Ανάμεσα σε αυτά τα άγκιστρα τώρα περικλείεται η κλάση Snarf
class Snarf linuxformat_

Μέσα σε αυτήν την κλάση περικλείεται η μέθοδος main
public static void Main(string[] args)
        linuxformat_

         

Για να καταλαβαίνεις πιο ανοίγει που και κλείνει που δες σε πιο "ύψος" είναι στιοιχισμένα μέσα στον κώδικα όπως σου τον έγγραψα.

Υ.Γ. Εκτός από τις παραπάνω περιπτώσεις αγκιστρα μπαίνουν και σε βρόγχους κ.α.