PRB: Compiler Error CS0246: Ο τύπος ή το όνομα χώρου ονομάτων <type amespace="">πιθανόν δεν βρέθηκε</type>Κατά τη μεταγλώττιση του κώδικα λαμβάνετε το ακόλουθο μήνυμα λάθους: Το όνομα τύπου ή χώρου ονομάτων<type amespace=""> </type>Δεν ήταν δυνατό να βρεθεί (λείπουν χρησιμοποιώντας μια οδηγία ή μια αναφορά συγκρότησης;)
Όπου<type amespace=""></type>είναι το όνομα του τύπου ή χώρου ονομάτων που προσπαθείτε να χρησιμοποιήσετε. Υπάρχουν αρκετοί λόγοι γιατί μπορεί λαμβάνετε αυτό το σφάλμα: - Μπορεί να πληκτρολογήσατε λανθασμένα το όνομα του τύπου ή χώρου ονομάτων που προσπαθείτε να χρησιμοποιήσετε. Χωρίς το σωστό όνομα, το πρόγραμμα μεταγλώττισης δεν μπορεί να βρει τον ορισμό του τύπου ή χώρου ονομάτων που αναφέρονται στον κώδικά σας. Συνήθως, αυτό συμβαίνει επειδή το C# είναι διάκριση πεζών-κεφαλαίων και δεν χρησιμοποιήσατε τη σωστή χρήση πεζών-κεφαλαίων κατά αναφέρεται στον τύπο. Για παράδειγμα, δείτε τον ακόλουθο κώδικα:Αυτό θα προκαλέσει σφάλμα μεταγλώττισης CS0246. Ειδοποίηση του του ' δεν είναι κεφαλαίο στο σύνολο δεδομένων.
- Εάν το σφάλμα είναι μια αναφορά σε ένα χώρο ονομάτων, να μην έχετε τη συγκρότηση όπου βρίσκεται ο χώρος ονομάτων που αναφέρεται στο έργο σας. Για παράδειγμα, μπορεί να χρησιμοποιείτε τον ακόλουθο χώρο ονομάτων:Ωστόσο, εάν δεν έχετε στη συγκρότηση Accessibility.dll που αναφέρεται στο έργο σας, στη συνέχεια, θα λάβετε σφάλμα μεταγλώττισης CS0246.
- Εάν το σφάλμα είναι μια αναφορά σε έναν τύπο, τότε μπορεί να μην έχετε τη σωστή χρησιμοποιώντας την οδηγία, ή μπορεί να έχετε δεν είναι πλήρως πιστοποιημένο στο όνομα του τύπου. Δείτε την ακόλουθη γραμμή κώδικα:Για να μπορέσετε να χρησιμοποιήσετε τον τύπο DataSet χρειάζεστε δύο πράγματα. Πρώτα, χρειάζεστε μια αναφορά στη συγκρότηση που περιέχει τον ορισμό για τον τύπο του DataSet. Δεύτερον, θα πρέπει να χρησιμοποιεί μια οδηγία για το χώρο ονομάτων όπου βρίσκεται το DataSet. Για παράδειγμα, επειδή το DataSet έχει τοποθετηθεί στον χώρο ονομάτων System.Data, θα πρέπει η παρακάτω πρόταση στην αρχή του αρχείου κώδικα:Το δεύτερο βήμα δεν είναι απαραίτητο. Ωστόσο, Εάν παραλειφθεί αυτό το βήμα, θα πρέπει να εγκρίνετε πλήρως τον τύπο DataSet όταν αναφέρεστε σε αυτό. Πλήρως κατάλληλα το σημαίνει ότι χρησιμοποιούν το χώρο ονομάτων και πληκτρολογείτε κάθε φορά που κάνετε παραπομπή σε αυτό στον κώδικά σας. Έτσι, αν έχετε αποφασίσει να forgo το δεύτερο βήμα, θα πρέπει να αλλάξετε τον κώδικα δήλωσης για να:
Όταν λάβετε αυτό το σφάλμα μεταγλώττισης, το πρώτο πράγμα που πρέπει να ελέγξετε ορθογραφικό έλεγχο. Όπως αναφέρθηκε προηγουμένως, η πιο συνηθισμένη αιτία δεν αντιμετωπίζει τη σωστή υπόθεση του τύπου ή χώρου ονομάτων. Εάν νιώθετε συγκεκριμένα ότι έχετε πληκτρολογήσει το όνομα του τύπου ή χώρου ονομάτων σωστά (όπως η διόρθωση μετατροπής σε κεφαλαία), στη συνέχεια, ελέγξτε τα εξής: - Η αναφορά συγκρότησης:
Βεβαιωθείτε ότι έχετε αναφορά στη συγκρότηση που περιέχει το πεδίο ονομάτων. Εάν αναπτύσσετε στο Visual Studio .NET, μπορείτε να μεταβείτε στοΤο έργομενού και κάντε κλικ στοΠροσθήκη αναφοράς. Στο διακομιστή.NETκαρτέλα, επιλέξτε τη συγκρότηση που περιέχει το χώρο ονομάτων που προσπαθείτε να εισαγάγετε, ήΑναζήτησηστο φάκελο που περιέχει τη συγκρότηση. Εάν χρησιμοποιείτε το μεταγλωττιστή γραμμής εντολών, προσθέστε το κατάλληλο διακόπτη)/ Reference) στη δήλωση μεταγλώττισης. - Ο χώρος ονομάτων:
Βεβαιωθείτε ότι κάνετε εισαγωγή του χώρου ονομάτων στο έργο σας έχοντας χρησιμοποιώντας μια πρόταση στο επάνω μέρος του αρχείου κώδικα που περιέχει την αναφορά σε τύπο, όπως:Εάν δεν έχετε το στη συνέχεια χρησιμοποιεί την πρόταση, έγκριση πλήρως η αναφορά στον τύπο:
Αυτή η συμπεριφορά οφείλεται στη σχεδίαση. Αναγν. άρθρου: 304656 - Τελευταία αναθεώρηση: Δευτέρα, 20 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0 Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:- Microsoft Visual C# .NET 2002 Standard Edition
| kbcompiler kbDSupport kbprb kbprod2web kbmt KB304656 KbMtel |
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 304656
(http://support.microsoft.com/kb/304656/en-us/
)
| |