Why multiple using of PreApplicationStartMethodAttribute isn't compiled?

痞子三分冷 提交于 2019-12-07 06:12:00

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!