Συμπτώματα
Όταν μπορείτε να μεταγλωττίσετε ξανά μια εφαρμογή 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 Sub
End Module
Ωστόσο, ο κώδικας που ακολουθεί θα μεταγλώττιση με επιτυχία:
Imports System.Windows.Forms
Module Module1
Sub Main()
MessageBox.Show("Example")
End Sub
End Module
Ο ακόλουθος κώδικας καταρτίζει επίσης με επιτυχία:
Module Module1
Sub Main()
System.Windows.Forms.MessageBox.Show("Example")
End Sub
End Module