我最近通过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")]
并且没有任何手动派生的属性类我可以附加任何限定符。
如何解决此重复问题?
答案 0 :(得分:13)
我认为您已在项目属性的装配信息窗口中指定了这些属性。如果您这样做,请从装配信息中删除这些属性。
答案 1 :(得分:0)
我正在进行Debug配置,并且所有错误都在 bin \ Release 内部。
因此,我通过将 bin \ Release 设置为只读来“修复”它。
答案 2 :(得分:0)
通过将其添加到.csproj文件中,可以解决此问题
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
</PropertyGroup>