Die vom Compiler gefundene benutzerdefinierte Version von „System.Runtime.CompilerServices.ExtensionAttribute“ ist nicht gültig.

Die vom Compiler gefundene benutzerdefinierte Version von „System.Runtime.CompilerServices.ExtensionAttribute“ ist nicht gültig. Die Flags für die Attributverwendung müssen so festgelegt sein, dass Assemblys, Klassen und Methoden zulässig sind.

Die vom Compiler gefundene benutzerdefinierte Version von System.Runtime.CompilerServices.ExtensionAttribute legt ihre Flags für die Attributverwendung nicht fest, um die Anwendung des Attributs auf Assemblys, Methoden und Klassen zu aktivieren. Die Anwendung auf mindestens drei Programmelemente ist erforderlich.

Fehler-ID: BC36558

So beheben Sie diesen Fehler

  • Ändern Sie die Attributdefinition, um die Anwendung des Attributs wenigstens 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 welche Programmelemente die neue Version von ExtensionAttribute angewendet werden kann. Das Beispiel gibt drei Member der AttributeTargets -Enumeration an: Assembly, Classund 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

Alternativ können Sie ExtensionAttribute die Anwendung auf alle Programmelemente mithilfe des All -Members von AttributeTargetsgestatten.

<AttributeUsage(AttributeTargets.All)>

Das Löschen der AttributeUsage -Zeile führt zum gleichen Ergebnis, wie im folgenden Code gezeigt.

Namespace System.Runtime.CompilerServices
    Class ExtensionAttribute
        Inherits System.Attribute
        ' Definitions of methods, fields, and properties.
    End Class
End Namespace

Siehe auch