【发布时间】:2012-05-22 07:58:15
【问题描述】:
我最近通过 Properties->Application->Assembly Information 按钮向一组 C# 项目 (dll) 添加了一些版权信息。我在一个解决方案中有几个这样的项目。编译后,我收到以下类型的错误消息:
错误 CS0579:重复的“XXX”属性
其中“XXX”是我指定的属性之一的名称(例如 AssemblyFileVersionAttribute)
谷歌搜索发现,对于派生自 Attribute 类的类,可以通过以下方式允许重复:
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true)]
class NewAttribute : System.Attribute { }
但在我的例子中,我已经通过属性对话框添加了这些属性,并且有语句(在每个项目的 AssemblyInfo.cs 中),例如:
[assembly: AssemblyCompanyAttribute("My Company")]
[assembly: AssemblyProductAttribute("My Product")]
[assembly: AssemblyCopyrightAttribute("© 2012 My Company, All Rights Reserved.")]
[assembly: AssemblyVersionAttribute("13.0.0.0")]
[assembly: AssemblyFileVersionAttribute("1.0.0.0")]
并且没有任何我可以附加任何限定符的手动派生属性类。
如何解决这个重复的问题?
【问题讨论】:
-
您是否在项目中对
AssemblyFileVersion进行了全局搜索? -
AssemblyFileVersionAttribute以整个程序集为目标,如您所知,所以也许您有多个指定属性的 .cs 文件(在同一个项目中)? -
你可以在这里看到
AssemblyFileVersionAttribute拥有的AttributeUsageAttribute:MSDN doc
标签: c# attributes duplicates