Συμπτώματα
Όταν μπορείτε να μεταγλωττίσετε ξανά μια εφαρμογή VB.NET για να προορίσετε το Microsoft .NET Framework 4.5.2, ενδέχεται να λάβετε το ακόλουθο μήνυμα λάθους κατά τη διαδικασία μεταγλώττισης:
"{Name}" δεν είναι μέλος του 'Windows'.
Σε αυτό το μήνυμα, το σύμβολο κράτησης θέσης "{Name}" είναι θυγατρικό του χώρου ονομάτων System.Windows, όπως "Φόρμες" ή "Σημείωση".Για παράδειγμα, το μήνυμα λάθους ενδέχεται να εμφανίζεται ως εξής:
'Φόρμες' δεν είναι μέλος του 'Windows'.
Προτεινόμενη αντιμετώπιση
Αυτό το ζήτημα αφορά τις διενέξεις του .NET Framework 4.5.2 χώρου ονομάτων "Windows". Αυτό θα συμβεί στον κώδικα που χρησιμοποιεί τα Windows. {Name} για να αναφερθείτε σε System.Windows. {Name}.Για να επιλύσετε το ζήτημα, αλλάξτε τον κώδικα ως πλήρως εγκρίνετε το χώρο ονομάτων, ή εισαγάγετε τον πλήρη χώρο ονόματος και αναφέρετε τους τύπους από τους απλό όνομα.Για παράδειγμα, ο παρακάτω κώδικας θα προκαλέσει το σφάλμα:
Module Module1 Sub Main() Windows.Forms.MessageBox.Show("Example") End SubEnd Module
Ωστόσο, ο κώδικας που ακολουθεί θα μεταγλώττιση με επιτυχία:
Imports System.Windows.FormsModule Module1 Sub Main() MessageBox.Show("Example") End SubEnd Module
Ο ακόλουθος κώδικας καταρτίζει επίσης με επιτυχία:
Module Module1 Sub Main() System.Windows.Forms.MessageBox.Show("Example") End SubEnd Module