2012-08-03 12 views
5

System.Web.PreApplicationStartMethodAttribute define como:¿Por qué no se cumple el uso múltiple de PreApplicationStartMethodAttribute?

[AttributeUsage(AttributeTargets.Assembly, AllowMultiple=true)] 
public sealed class PreApplicationStartMethodAttribute : Attribute 
{} 

es decir permite el uso múltiple (AllowMultiple = true). Pero si trato de agregados varios usos de este atributo a mi montaje:

[assembly: PreApplicationStartMethod(typeof(MyType1), "Start")] 
[assembly: PreApplicationStartMethod(typeof(MyType2), "Start")] 

me sale error del compilador:
error 2 Duplicar 'PreApplicationStartMethod' atributo

¿Por qué es esto?

Respuesta

7

Sospecho que estabas mirando el .NET 4.5 version, que está documentado como tener AllowMultiple = True.

El documentation for the .NET 4.0 version muestra como AllowMultiple = false:

[AttributeUsageAttribute(AttributeTargets.Assembly, AllowMultiple = false)] 
public sealed class PreApplicationStartMethodAttribute : Attribute 

Así que si orienta .NET 4.5, debería estar bien.

+0

Tienes razón. Estaba buscando en Reflector en C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \ System.Web.dll y olvidé que 4.5 es "actualización in situ". (Tengo 4.5 RC instalados) – Shrike

Cuestiones relacionadas