2012-08-03 6 views
5

System.Web.PreApplicationStartMethodAttribute definito come:Perché l'uso multiplo di PreApplicationStartMethodAttribute non è rispettato?

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

Vale a dire consente l'utilizzo multiplo (AllowMultiple = true). Ma se provo ad aggiungere diversi usi di questo attributo al mio montaggio:

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

ottengo errore del compilatore:
errore 2 Duplica 'PreApplicationStartMethod' attributo

Perché è questo?

risposta

7

Ho il sospetto che stavate guardando il .NET 4.5 version, che è documentato come AllowMultiple = True.

Il documentation for the .NET 4.0 version mostra come AllowMultiple = false:

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

Quindi, se si target .NET 4.5, dovrebbe essere a posto.

+0

Hai ragione. Stavo cercando in Reflector su C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \ System.Web.dll e ho dimenticato che 4.5 è "aggiornamento sul posto". (Ho installato 4.5 RC) – Shrike

Problemi correlati