ΕΠΙΔΙΌΡΘΩΣΗ: Προσαρμοσμένες εφαρμογές που χρησιμοποιούν το Visual Studio για το χρόνο εκτέλεσης της Visual Basic Applications ενδέχεται να μην μπορείτε να μεταγλωττίσετε μακροεντολές ή να εκτελέσετε μακροεντολές

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:
  • Μπορείτε να δημιουργήσετε μια προσαρμοσμένη εφαρμογή, χρησιμοποιώντας το Microsoft .NET Framework 2.0.
  • Η προσαρμοσμένη εφαρμογή σας χρησιμοποιεί το Microsoft Visual Studio για το χρόνο εκτέλεσης της Visual Basic Applications (VSA).
  • Μπορείτε να εκτελέσετε την προσαρμοσμένη εφαρμογή σε ένα σύστημα που έχει ενημερωθεί για να εκτελέσετε μια νεότερη έκδοση του Microsoft .NET Framework κοινού χρόνου εκτέλεσης γλώσσας (CLR).
Σε αυτό το σενάριο, η προσαρμοσμένη εφαρμογή σας ενδέχεται να προκληθεί εσφαλμένη συμπεριφορά ή ενδέχεται να δημιουργήσει σφάλματα. Αυτά τα ζητήματα παρουσιάζονται όταν προσπαθείτε να μεταγλωττίσετε μακροεντολές ή όταν προσπαθείτε να εκτελέσετε μακροεντολές σε προσαρμοσμένη εφαρμογή.

Όταν αναπτύσσετε την προσαρμοσμένη εφαρμογή χρησιμοποιώντας VSA, ενδέχεται να αντιμετωπίσετε το ακόλουθο πρόβλημα. Όταν η προσαρμοσμένη εφαρμογή καλεί τη μέθοδο Microsoft.VisualBasic.Vsa.VsaEngine.Compile , μια εξαίρεση κατά το χρόνο εκτέλεσης της Visual Basic VSA στον κεντρικό υπολογιστή. Ο κεντρικός υπολογιστής μπορεί να παγιδεύσει την εξαίρεση και ο χρήστης ενδέχεται να λάβετε το ακόλουθο μήνυμα λάθους:
Έγινε προσπάθεια λήψης ενός προγράμματος με εσφαλμένη μορφή. (Εξαίρεση από HRESULT: 0x8007000B)
Εναλλακτικά, ο κεντρικός υπολογιστής μπορεί να αγνοήσει την εξαίρεση και ενδέχεται να προκύψει ένα από τα ακόλουθα συμπτώματα:
  • Ο κεντρικός υπολογιστής αποτυγχάνει απροσδόκητα, όταν ο χρήστης προσπαθεί να εκτελέσει τη μακροεντολή που μεταγλωττίζεται μόλις ο χρήστης.
  • Ο κεντρικός υπολογιστής δεν χειρίζεται τη μακροεντολή με οποιονδήποτε τρόπο.
Στην τελευταία περίπτωση, το CLR θα κλείσει την εφαρμογή επειδή η αίτηση είχε μια ανεπίλυτη εξαίρεση.

Όταν προσπαθείτε να εκτελέσετε μακροεντολές σε προσαρμοσμένη εφαρμογή, ενδέχεται να αντιμετωπίσετε ένα ή περισσότερα από τα ακόλουθα συμπτώματα:
  • Λαμβάνετε ένα μήνυμα λάθους ότι δεν μπορούν να δημιουργούνται ή εκτέλεση μιας μακροεντολής.
  • Λαμβάνετε ένα μήνυμα λάθους ότι δεν είναι δυνατό να φορτωθεί μια μακροεντολή ή μια συγκρότηση.
  • Η κύρια εφαρμογή ενδέχεται να μην ξεκινήσει ή ενδέχεται να τερματιστεί απροσδόκητα.
  • Παρόλο που η κύρια εφαρμογή δεν αναφέρει ένα σφάλμα, η μακροεντολή εκτελείται και η εφαρμογή φαίνεται να έχετε κάνει τίποτα.

Αιτία

Αυτό το ζήτημα οφείλεται σε μια πρόσφατη αλλαγή σχεδίασης στο χρόνο εκτέλεσης σταθμού εργασίας CLR (Mscorwks.dll) για εκδόσεις του .NET Framework 2.0 που είναι μεταγενέστερη από την 2.0.50727.300. Αυτή η αλλαγή παρουσίασε πρόβλημα συμβατότητας του μηχανισμού χρόνου εκτέλεσης της Visual Basic (Vsavb7rt.dll) που χρησιμοποιείται από VSA. Το πρόβλημα εμποδίζει συγκροτήσεις από beng δημιουργείται σωστά κατά τη λειτουργία της μεταγλώττισης μακροεντολής.

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

Σημείωση Προσαρμοσμένες εφαρμογές που χρησιμοποιούν τη δυνατότητα πλήρους Microsoft Visual Studio για το Κιτ ανάπτυξης λογισμικού (SDK) εφαρμογών και το .NET Framework 1.1 δεν αντιμετωπίζουν αυτό το ζήτημα. Αυτό το ζήτημα παρουσιάζεται μόνο σε κύριες εφαρμογές που χρησιμοποιούν το χρόνο εκτέλεσης VSA που περιλαμβάνεται στο .NET Framework 2.0.

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

Πληροφορίες άμεσης επιδιόρθωσης



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

Για να κάνετε λήψη αυτής της επείγουσας επιδιόρθωσης από τη συλλογή κωδίκων MSDN, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:


Σημείωση Η συλλογή κωδίκων MSDN εμφανίζει τις γλώσσες για τις οποίες η επείγουσα επιδιόρθωση είναι διαθέσιμη. Εάν δεν βλέπετε τη γλώσσα σας στη λίστα, είναι επειδή η σελίδα πόρου συλλογής κώδικα δεν είναι διαθέσιμη για αυτήν τη γλώσσα.


Σημείωση Εάν προκύψουν πρόσθετα ζητήματα ή απαιτείται αντιμετώπιση προβλημάτων, ίσως χρειαστεί να δημιουργήσετε ξεχωριστή αίτηση εξυπηρέτησης. Για πρόσθετες ερωτήσεις υποστήριξης και θέματα που δεν αφορούν τη συγκεκριμένη άμεση επιδιόρθωση, ισχύουν οι συνηθισμένες χρεώσεις υποστήριξης. Για μια πλήρη λίστα αριθμών τηλεφώνου υποστήριξης και εξυπηρέτησης πελατών της Microsoft ή για να δημιουργήσετε ξεχωριστή αίτηση εξυπηρέτησης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

Προϋποθέσεις

Δεν απαιτούνται προϋποθέσεις.

Απαίτηση επανεκκίνησης

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της άμεσης επιδιόρθωσης.

Πληροφορίες αρχείων

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα ζώνη ώρας στο στοιχείο "ημερομηνία και ώρα" στον πίνακα ελέγχου.
Λειτουργικά συστήματα πριν από τα Windows Vista
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Vsavb7rt.dll8.0.50727.2441,330,68816-Nov-200608:06x86
Windows Vista
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Vsavb7rt.dll8.0.50727.7841,330,68818-May-200714:07x86

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα σφάλμα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

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

Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

824684 περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft

Ιδιότητες

Αναγνωριστικό άρθρου: 928208 - Τελευταία αναθεώρηση: 14 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια