Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La versión de diseño personalizado de 'System.Runtime.CompilerServices.ExtensionAttribute' que encontró el compilador no es válida. Sus marcas de uso de atributos deben establecerse para permitir ensamblados, clases y métodos.
La versión de diseño personalizado de System.Runtime.CompilerServices.ExtensionAttribute que el compilador encontró no establece las marcas de uso de atributos para permitir la aplicación del atributo a ensamblados, métodos y clases. Se requiere la aplicación para al menos los tres elementos de programa.
Identificador de error: BC36558
Para corregir este error
Cambie la definición de atributo para permitir que el atributo se aplique como mínimo a ensamblados, métodos y clases, tal como se muestra en los ejemplos siguientes.
Use System.Runtime.CompilerServices.ExtensionAttribute en lugar de la versión de diseño personalizado.
Ejemplo
En el ejemplo siguiente se usa el atributo AttributeUsage para especificar a qué elementos del programa se puede aplicar la nueva versión de ExtensionAttribute . En el ejemplo se especifican tres miembros de la enumeración AttributeTargets : Assembly, Classy Method. La omisión de cualquiera de estos elementos provocará este error.
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
Como alternativa, puede permitir que ExtensionAttribute se aplique a todos los elementos del programa mediante el miembro All de AttributeTargets.
<AttributeUsage(AttributeTargets.All)>
Al eliminar la línea AttributeUsage , como se muestra en el código siguiente, se produce el mismo resultado.
Namespace System.Runtime.CompilerServices
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace