Подтвердить что ты не робот

Получение ошибки времени компиляции CS0579: Дублировать атрибут AssemblyFileVersionAttribute

Недавно я добавил некоторую информацию об авторских правах в набор проектов С# (dll) с помощью кнопки "Свойства- > Приложение- > Информация о сборке". У меня есть несколько таких проектов в одном решении. После компиляции я получаю сообщение об ошибке типа:

ошибка CS0579: Дублировать атрибут "XXX"

где "XXX" - это имя одного из указанных мной атрибутов (например, AssemblyFileVersionAttribute)

Googling Я обнаружил, что в случае класса, полученного из класса 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")]

и не имеют каких-либо вручную классов атрибутов, к которым я могу присоединить любые квалификаторы.

Как решить эту дублирующую проблему?

4b9b3361

Ответ 1

Я думаю, что вы уже указали эти атрибуты в окне Информация о сборке проекта Свойства. Если вы это сделали, удалите эти атрибуты из Информация о сборке.

Ответ 2

Я был на конфигурации отладки, и все ошибки были внутри bin\Release.

Поэтому я "исправил" это, установив bin\Release только для чтения.

Ответ 3

Добавив это в .csproj файл решил проблему

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