5

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”属性

为什么是这样?

4

1 回答 1

8

我怀疑您正在查看.NET 4.5 版本,该版本被记录为具有AllowMultiple = True.

.NET 4.0 版本的文档显示为AllowMultiple = false

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

因此,如果您以 .NET 4.5 为目标,应该没问题。

于 2012-08-03T18:05:52.147 回答