error duplicate cs0579 attribute assemblyconfigurationattribute assemblycompanyattribute c# visual-studio-2010 compiler-errors

c# - cs0579 - Duplicate AssemblyVersion Attribute



duplicate system reflection assemblycompanyattribute (10)

A partir de Visual Studio 2017, otra solución para seguir utilizando el archivo AssemblyInfo.cs es desactivar la generación automática de información de ensamblaje como esta:

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> </PropertyGroup> </Project>

Personalmente, lo encuentro muy útil para proyectos que necesitan ser compatibles con .NET Framework y .NET Standard.

Tengo un proyecto que genera el siguiente error en la compilación:

error CS0579: atributo duplicado ''AssemblyVersion''

He comprobado el archivo AssemblyInfo.cs y parece que no hay duplicación allí.

Encontré este artículo en MSDN que trata un problema similar y siguiendo la sugerencia en este artículo corrige el problema también.

¿Alguien puede decirme qué está pasando aquí? ¿Sucede solo en caso de tener dos o más proyectos con clases con nombres similares? ¿O es otra cosa?


Al convertir un proyecto anterior a .NET Core, la mayoría de la información que estaba en AssemblyInfo.cs ahora se puede configurar en el proyecto en sí. Abra las propiedades del proyecto y seleccione la pestaña Paquete para ver la nueva configuración.

El elanderson.net/2017/06/… describe tres opciones:

  • eliminar los elementos conflictivos del archivo AssemblyInfo.cs,
  • borre completamente el archivo o
  • deshabilitar GenerateAssemblyInfo (como se sugiere en otra respuesta por Serge Semenov )

Como también me he encontrado con este problema en el pasado, asumo que su proceso de compilación también proporciona información de ensamblaje por separado para proporcionar control de versiones. Y eso causa una duplicación ya que su proyecto también tiene esa información en el archivo AssembleyInfo.cs. Así que elimine el archivo y creo que debería funcionar.


En mi caso, algunos archivos temporales * .cs generados durante la compilación se agregaron accidentalmente al proyecto.

Los archivos eran del directorio obj/Debug , por lo que definitivamente no deberían haberse agregado a la solución. El comodín A *.cs volvió un poco loco y los agregó incorrectamente.

Eliminar estos archivos solucionó el problema.


En mi caso, había una subcarpeta en un proyecto que era una carpeta de proyecto en sí:

  • sistema de archivos:

    • c: / projects / webapi / wepapi.csproj
    • c: / projects / webapi / tests / wepapitests.csproj
  • solución

    • webapi (carpeta y proyecto)
      • pruebas (carpeta)
    • pruebas (carpeta y proyecto)

Luego tuve que eliminar las "pruebas" de la subcarpeta del proyecto "webapi".


Mi error fue que también estaba haciendo referencia a otro archivo en mi proyecto, que también contenía un valor para el atributo "AssemblyVersion". Eliminé ese atributo de uno de los archivos y ahora está funcionando correctamente.

La clave es asegurarse de que este valor no se declare más de una vez en cualquier archivo de su proyecto.


Mi error ocurrió porque, de alguna manera, había una carpeta obj creada dentro de mi carpeta de controladores. Simplemente haga una búsqueda en su aplicación para encontrar una línea dentro de su Assemblyinfo.cs. Puede haber un duplicado en alguna parte.


Otra solución al actualizar el núcleo a VS2017 es eliminarlos en el archivo properties / assemblyinfo.cs.

Dado que ahora están almacenados en el proyecto.


Para mí fue que AssembyInfo.cs y SolutionInfo.cs tenían valores diferentes. Así que revisa estos archivos también. Acabo de eliminar la versión de uno de ellos.


Tuve el mismo error y estaba subalimentando la Vesrion de la Asamblea y la Versión del Archivo de la Asamblea, por lo que al leer la respuesta de Luqi, simplemente los agregué como comentarios y se solucionó el error.

// AssemblyVersion is the CLR version. Change this only when making breaking changes //[assembly: AssemblyVersion("3.1.*")] // AssemblyFileVersion should ideally be changed with each build, and should help identify the origin of a build //[assembly: AssemblyFileVersion("3.1.0.0")]