Die benutzerdefinierte Version von 'System.Runtime.CompilerServices.ExtensionAttribute', die vom Compiler gefunden wurde, ist nicht gültig
Aktualisiert: November 2007
Fehlermeldung
Die benutzerdefinierte Version von 'System.Runtime.CompilerServices.ExtensionAttribute', die vom Compiler gefunden wurde, ist nicht gültig. Die Attributverwendungsflags müssen festgelegt werden, um Assemblys, Klassen und Methoden zuzulassen.
The custom-designed version of 'System.Runtime.CompilerServices.ExtensionAttribute' found by the compiler is not valid. Its attribute usage flags must be set to allow assemblies, classes, and methods.
Die benutzerdefinierte Version von System.Runtime.CompilerServices.ExtensionAttribute, die der Compiler gefunden hat, legt die Attributverwendungsflags nicht auf die Aktivierung der Attributanwendung auf Assemblys, Methoden und Klassen fest. Anwendung auf mindestens drei Programmelemente ist erforderlich.
Fehler-ID: BC36558
So beheben Sie diesen Fehler
Ändern Sie die Attributdefinition, um die Attributanwendung mindestens auf Assemblys, Methoden und Klassen zu aktivieren, wie in den folgenden Beispielen gezeigt.
Verwenden Sie System.Runtime.CompilerServices.ExtensionAttribute anstelle der benutzerdefinierten Version.
Beispiel
Im folgenden Beispiel wird das AttributeUsage-Attribut verwendet, um anzugeben, auf welches Programmelement die neue Version von ExtensionAttribute angewendet werden kann. Im Beispiel werden drei Member der AttributeTargets-Enumeration angegeben: Assembly, Class und Method. Die Auslassung eines dieser Elemente verursacht diesen Fehler.
Namespace System.Runtime.CompilerServices
<AttributeUsage(AttributeTargets.Assembly Or _
AttributeTargets.Class Or AttributeTargets.Method)>
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace
Wahlweise können Sie die Anwendung von ExtensionAttribute auf alle Programmelemente mithilfe des All-Members von AttributeTargets zulassen.
<AttributeUsage(AttributeTargets.All)>
Das Löschen der AttributeUsage-Zeile erzeugt das gleiche Ergebnis, wie im folgenden Code dargestellt.
Namespace System.Runtime.CompilerServices
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace
Siehe auch
Aufgaben
Gewusst wie: Definieren eigener Attribute
Konzepte
Übersicht über Attribute in Visual Basic
Erweiterungsmethoden (Visual Basic)
Verfassen von benutzerdefinierten Attributen