问题
System.Web.PreApplicationStartMethodAttribute defined as:
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class PreApplicationStartMethodAttribute : Attribute
{}
I.e. it allows multiple usage (AllowMultiple=true). But if I try to added several usages of this attribute to my assembly :
[assembly: PreApplicationStartMethod(typeof(MyType1), "Start")]
[assembly: PreApplicationStartMethod(typeof(MyType2), "Start")]
I get compiler error:
Error 2 Duplicate 'PreApplicationStartMethod' attribute
Why is this?
回答1:
I suspect you were looking at the .NET 4.5 version, which is documented as having AllowMultiple = True
.
The documentation for the .NET 4.0 version shows it as AllowMultiple = false
:
[AttributeUsageAttribute(AttributeTargets.Assembly, AllowMultiple = false)]
public sealed class PreApplicationStartMethodAttribute : Attribute
So if you target .NET 4.5, it should be okay.
来源:https://stackoverflow.com/questions/11800954/why-multiple-using-of-preapplicationstartmethodattribute-isnt-compiled