2012-08-03 10 views
5

System.Web.PreApplicationStartMethodAttribute zdefiniowany jako:Dlaczego wielokrotne używanie PreApplicationStartMethodAttribute nie jest przestrzegane?

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

Tj pozwala na wielokrotne użycie (AllowMultiple = true). Ale gdy próbuję dodanych kilka zastosowań tego atrybutu do mojego zespołu:

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

otrzymuję błąd kompilatora:
Error 2 duplikat „PreApplicationStartMethod” atrybut

Dlaczego tak jest?

Odpowiedz

7

Podejrzewam, że patrzyłeś na .NET 4.5 version, który jest udokumentowany jako posiadający AllowMultiple = True.

documentation for the .NET 4.0 version pokazuje go jako AllowMultiple = false:

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

Więc jeśli kierować .NET 4.5, powinno być w porządku.

+0

Masz rację. Szukałem w Reflectorze w C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \ System.Web.dll i zapomniałem, że 4.5 to "uaktualnienie na miejscu". (Mam zainstalowany 4.5 RC) – Shrike

Powiązane problemy