为什么不编译多次使用PreApplicationStartMethodAttribute?

时间:2012-08-03 18:01:51

标签: c# system.web

System.Web.PreApplicationStartMethodAttribute定义为:

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

即。它允许多次使用(AllowMultiple = true)。 但是如果我尝试将这个属性的几个用法添加到我的程序集中:

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

我收到编译错误:

  

错误2重复'PreApplicationStartMethod'属性

为什么会这样?

1 个答案:

答案 0 :(得分:8)

我怀疑您正在查看.NET 4.5 version,其中记录为AllowMultiple = True

documentation for the .NET 4.0 version将其显示为AllowMultiple = false

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

因此,如果你的目标是.NET 4.5,它应该没问题。