Ενδέχεται να λάβετε ένα μήνυμα λάθους "System.Resources.MissingManifestResourceException" κατά την πρόσβαση στο αρχείο .resources της φόρμας κατά το χρόνο εκτέλεσης

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 318603 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν χρησιμοποιείτε το Visual Basic .NET 2005 της Visual Basic, Visual C# .NET ή Visual J# .NET Windows εφαρμογών, ενδέχεται να λάβετε το ακόλουθο μήνυμα λάθους ή ένα παρόμοιο όταν φορτώνετε μια φόρμα:
Παρουσιάστηκε μια εξαίρεση που δεν αντιμετωπίστηκε τύπου 'System.Resources.MissingManifestResourceException' στο mscorlib.dll

Πρόσθετες πληροφορίες: δεν ήταν εντοπισμός πόρων κατάλληλο για την καθορισμένη κουλτούρα (ή την ουδέτερη κουλτούρα) στη δεδομένη συγκρότηση. Βεβαιωθείτε ότι το "Form1.resources" ήταν σωστά ενσωματωμένο ή συνδεδεμένο στη συγκρότηση "myApplication".

baseName: locationInfo Φόρμα1: όνομα αρχείου πόρων WindowsApplication4.Form1: Form1.resources συγκρότησης: myApplication, έκδοση = 1.0.781.33026, κουλτούρα = ουδέτερη, PublicKeyToken = null
Εάν κάνετε κλικ στο κουμπίΑλλαγήστο παράθυρο διαλόγου σφάλματος, και εάν ο κώδικας εκτελείται με το ενσωματωμένο περιβάλλον ανάπτυξης (IDE), θα ανακαλύψετε που μια γραμμή κώδικα στο εσωτερικό τουInitializeComponentΑυτό το ζήτημα προκαλεί την πρόταση. Για παράδειγμα, εάν δημιουργήσετε το δείγμα από την ενότητα "Περισσότερες πληροφορίες", αυτό το σφάλμα προκύπτει σε συνδυασμό με έναΤο ImageList που οφείλονταιControl. Παρόλο που το μήνυμα λάθους μπορεί να αναφέρεται σε ένα διαφορετικό στοιχείο ελέγχου, προσέξτε ότιResources.GetObjectεμφανίζεται σε αυτήν τη γραμμή κώδικα στο μήνυμα λάθους:
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή τοMAPIη κλάση δεν είναι η πρώτη κλάση στη λειτουργική μονάδα κώδικα της φόρμας.

ΣΗΜΕΙΩΣΗΑυτό το άρθρο συγκεκριμένα μία έγγραφα προκαλούν αυτού του ζητήματος. Ενδέχεται να υπάρχουν άλλες καταστάσεις που μπορεί να οδηγήσει σε παρόμοια αποτελέσματα.

Προτεινόμενη αντιμετώπιση

Για να επιλύσετε αυτό το ζήτημα, μετακινήστε όλα τα άλλα ορισμούς κλάσης ώστε να εμφανίζονται μετά τον ορισμό κλάσης της φόρμας.

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, αλλάξτε τοΌνομα αρχείου πόρωνη ιδιότητα του αρχείου .resX του έργου. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
  1. Εκκίνηση του Visual Studio .NET 2003ή το Visual Studio 2005.
  2. Ανοίξτε το έργο που περιέχει τις μεταφρασμένες κλάσης φόρμας όπου λαμβάνετε το μήνυμα λάθους που αναφέρεται στην ενότητα "Συμπτώματα".
  3. Στην Εξερεύνηση των λύσεων, αναπτύξτε όλους τους φακέλους.
  4. Κάντε δεξιό κλικ στο στοιχείοForm1.resX, και στη συνέχεια κάντε κλικ στο κουμπίΙδιότητες (Properties).
  5. ΣτοΣελίδες ιδιοτήτων Form1.resXπαράθυρο διαλόγου πλαίσιο, αναπτύξτε το στοιχείοΙδιότητες παραμέτρων, και στη συνέχεια κάντε κλικ στο κουμπίΓενικάunderΔιαχείριση πόρων.
  6. Αλλαγή τουΌνομα αρχείου πόρωνη ιδιότητα από$ (IntDir) / <placeholder></placeholder>. Form1.resourcesTo$ (IntDir) / <placeholder>.</placeholder>MyForm.Resources, και στη συνέχεια κάντε κλικ στο κουμπίOk.

    ΣΗΜΕΙΩΣΗMyFormείναι ένα σύμβολο κράτησης θέσης για το όνομα κλάσης της κλάσης φόρμας που θα προσαρμοστεί.
  7. Πατήστε CTRL + SHIFT + S για να αποθηκεύσετε το έργο. Πιέστε τα πλήκτρα CTRL + SHIFT + B για την κατασκευή της λύσης.Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
    824495ΕΝΗΜΕΡΩΣΗ: Λαμβάνετε ένα μήνυμα λάθους "MissingManifestResourceException" κατά την προσθήκη ενός συνδεδεμένου πόρου στο Visual Studio .NET 2003
  8. Πατήστε F5 για να εκτελέσετε την εφαρμογή. Η εφαρμογή εκτελείται, και το Φόρμα1, εμφανίζεται η φόρμα.
.

Κατάσταση

Αυτή η συμπεριφορά οφείλεται στη σχεδίαση.

Περισσότερες πληροφορίες

Λειτουργική μονάδα κώδικα μπορεί να περιέχει πολλές κλάσεις. Όταν κατασκευάζεται το έργο, το σύστημα δημιουργίας πρέπει να αποφασίσετε ποια κλάση που πρέπει να χρησιμοποιήσει για να δημιουργήσετε το αρχείο .resources. Η σχεδίαση του συστήματος build έργου Καθορίζει ότι η πρώτη κλάση στη λειτουργική μονάδα κώδικα την κλάση στην οποία βασίζεται στο αρχείο .resources. Το αρχείο .resources ονομάζεται σύμφωνα με αυτήν την κλάση, όχι το όνομα της φόρμας. Στις περισσότερες περιπτώσεις, αυτά τα δύο ονόματα είναι τα ίδια. Ωστόσο, εάν αυτά τα ονόματα διαφέρουν, λαμβάνετε το μήνυμα λάθους που αναφέρεται στην ενότητα "Συμπτώματα".

Κατά τη φόρτωση της φόρμας κατά το χρόνο εκτέλεσης, τοInitializeComponentη μέθοδος μπορεί να χρειαστεί να λάβετε αντικείμενα από το αρχείο .resources.InitializeComponentΑναζητά τοΌνομα_φόρμαςτο αρχείο .resources στη συγκρότηση. Επειδή το αρχικόΌνομα_φόρμαςαρχείο .resources δημιουργήθηκε ποτέ ή συνδέεται με τη συγκρότηση, αποτυγχάνει η προσπάθεια για να ανακτήσετε το αρχείο .resources.

Βήματα για την αναπαραγωγή της συμπεριφοράς

  1. Create a Windows Application project in Visual Basic .NET or in Visual Basic 2005, Visual C# .NET, or Visual J# .NET. Φόρμα1 δημιουργείται από προεπιλογή.ΣΗΜΕΙΩΣΗIn Visual Studio 2005, you receive the following warning message:
    Components cannot be added in localization mode. Select (Default) in the Language property to return to the default form and add components.
    ΣΗΜΕΙΩΣΗYou must change the code in Visual Basic 2005. By default, Visual Basic creates two files for the project when you create a Windows Forms project. If the form is named Form1, the two files that represent the form are named Form1.vb and Form1.Designer.vb. You write the code in the Form1.vb file. The Windows Forms Designer writes the code in the Form1.Designer.vb file. The Windows Forms Designer uses the partial keyword to divide the implementation of Form1 into two separate files. This behavior prevents the designer-generated code from being interspersed with your code.

    For more information about the new Visual Basic 2005 language enhancements, visit the following Microsoft Developer Network (MSDN) Web site:
    http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
    For more information about partial classes and the Windows Forms Designer, visit the following MSDN Web site:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. Add anΤο ImageList που οφείλονταιΈλεγχος για Φόρμα1.
  3. Add an icon file to theΤο ImageList που οφείλονταιControl.
  4. In the code module of Form1, add the following code before the Form1 definition: Visual Basic .NET:
    Public Class someClass
    End Class
    					
    Visual C# .NET and Visual J# .NET:
    public class someClass
    {
    }
    					
  5. Δημιουργήστε το έργο. Notice that the project builds successfully.
  6. Η εκτέλεση του έργου. Notice that you receive the error message that is mentioned in the "Symptoms" section.

Ιδιότητες

Αναγν. άρθρου: 318603 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Λέξεις-κλειδιά: 
kbvs2005applies kbvs2005swept kbprb kbmt KB318603 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:318603

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com