Ответ 1
Я думаю, что вы уже указали эти атрибуты в окне Информация о сборке проекта Свойства. Если вы это сделали, удалите эти атрибуты из Информация о сборке.
Недавно я добавил некоторую информацию об авторских правах в набор проектов С# (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")]
и не имеют каких-либо вручную классов атрибутов, к которым я могу присоединить любые квалификаторы.
Как решить эту дублирующую проблему?
Я думаю, что вы уже указали эти атрибуты в окне Информация о сборке проекта Свойства. Если вы это сделали, удалите эти атрибуты из Информация о сборке.
Я был на конфигурации отладки, и все ошибки были внутри bin\Release.
Поэтому я "исправил" это, установив bin\Release только для чтения.
Добавив это в .csproj файл решил проблему
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
</PropertyGroup>