25

我最近通过 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")]

并且没有任何我可以附加任何限定符的手动派生属性类。

我该如何解决这个重复的问题?

4

3 回答 3

21

我认为您已经在Project Properties的Assembly Information窗口中指定了这些属性。如果您这样做了,请从Assembly Information中删除这些属性。

于 2013-11-13T08:33:41.680 回答
16

通过在 .csproj 文件中添加它解决了这个问题

 <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
        <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
        <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
        <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
  </PropertyGroup>

正如 Bob 建议的那样,如果您不想单独添加它们,您可以添加

<GenerateAssemblyInfo>false</GenerateAssemblyInfo>   

<PropertyGroup>.

于 2019-04-06T18:37:58.633 回答
0

面临类似的重复属性问题CS0579

通过从项目中删除目录为我解决了这个问题。

于 2021-10-23T04:45:18.317 回答