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 aborda un problema similar y, siguiendo la sugerencia de este artículo, también soluciona el problema.
¿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?
c#
compiler-errors
Aamir
fuente
fuente
Respuestas:
También me he encontrado con este problema en el pasado, por lo que voy a suponer que su proceso de compilación proporciona información de ensamblaje por separado para proporcionar versiones. Y eso provoca una duplicación ya que su proyecto también tiene esa información en el
AssemblyInfo.cs
archivo. Así que elimine el archivo y creo que debería funcionar.fuente
A partir de Visual Studio 2017, otra solución para seguir usando el
AssemblyInfo.cs
archivo es desactivar la generación automática de información de ensamblaje de esta manera:Personalmente, lo encuentro muy útil para proyectos que necesitan ser compatibles con .NET Framework y .NET Standard.
fuente
.csproj
archivo usando sus páginas de propiedades (de aplicación, urbanizado, Eventos de generación, etc.), laPropertyGroup
de losGenerateAssemblyInfo
desaparece :-(Tuve el mismo error y subrayaba la Vesrion de la Asamblea y la Versión del Archivo de la Asamblea, así que leyendo la respuesta de Luqi, simplemente los agregué como comentarios y el error se resolvió
fuente
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 mismo. Abra las propiedades del proyecto y seleccione la pestaña Paquete para ver la nueva configuración.
La publicación de Eric L. Anderson "Duplicar 'System.Reflection.AssemblyCompanyAttribute' atributo" describe 3 opciones:
fuente
.csproj
), porque son metadatos en lugar de código que describen la lógica real. ¡Espero que en el futuro todo se pueda especificar en el proyecto! (Actualmente no puedo especificar la visibilidad COM, así que lo dejoAssemblyInfo.cs
.)En mi caso, algunos archivos temporales * .cs generados durante la compilación se agregaron accidentalmente al proyecto.
Los archivos eran del
obj\Debug
directorio, por lo que definitivamente no deberían haberse agregado a la solución. Un*.cs
comodín se volvió un poco loco y los agregó incorrectamente.Eliminar estos archivos solucionó el problema.
fuente
En mi caso, allí donde una subcarpeta en un proyecto que era una carpeta de proyecto en sí misma:
sistema de archivos:
solución
Luego tuve que eliminar la subcarpeta "pruebas" del proyecto "webapi".
fuente
Para mí fue que AssembyInfo.cs y SolutionInfo.cs tenían valores diferentes. Así que revise estos archivos también. Acabo de eliminar la versión de uno de ellos.
fuente
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 una línea dentro de su Assemblyinfo.cs. Puede haber un duplicado en alguna parte.
fuente
Esto generalmente me sucede si compilé el proyecto en Visual Studio 2017 y luego trato de reconstruirlo y ejecutarlo con .NET Core con el comando de línea de comandos "dotnet run".
Simplemente eliminar todas las carpetas "bin" y "obj", tanto dentro de "ClientApp" como directamente en la carpeta del proyecto, permitió que el comando .NET Core "dotnet run" se reconstruyera y ejecutara con éxito.
fuente
Ya debe haber un archivo AssemblyInfo.cs en el proyecto aquí:
Para resolver: - Elimine cualquiera de los AssemblyInfo.cs
fuente
Otra solución más cuando se actualiza el núcleo a VS2017 es eliminarlos en el archivo properties \ assemblyinfo.cs.
Ya que ahora están almacenados en el proyecto.
fuente
Encontré esta respuesta en msdn, que explica marcar el archivo como Contenido y luego Copiar a Salida = Si es más nuevo. Ver artículo a continuación:
https://social.msdn.microsoft.com/Forums/en-US/8671bdff-9b16-4b49-ba9e-227cc4df31b2/compile-error-cs0579-duplicate-assemblyversion-attribute?forum=vsgatk
GH
fuente
Encontré lo mismo cuando intenté agregar la herramienta GitVersion para actualizar mi versión en AssemblyInfo.cs. Use VS2017 y .NET Core project. Así que simplemente mezclé ambos mundos. My AssemblyInfo.cs contiene solo información de versión que fue generada por la herramienta GitVersion, mi csproj contiene remaingin things. Tenga en cuenta que no utilizo
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
utilizo atributos relacionados solo con la versión (ver más abajo). Más detalles aquí Propiedades de información de ensamblaje .AssemblyInfo.cs
my.csproj contiene todo lo relacionado con otros atributos de ensamblado:
fuente
Tuve este problema cuando mi proyecto principal estaba en la misma carpeta que la solución, luego tuve un proyecto separado en la misma solución ubicada en una subcarpeta, y ese proyecto separado usó el proyecto principal como referencia. Esto provocó que el proyecto principal detectara las carpetas bin y obj de la subcarpeta que creaban referencias duplicadas.
fuente
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 funciona correctamente.
La clave es asegurarse de que este valor no se declare más de una vez en ningún archivo de su proyecto.
fuente
Edite AssemblyInfo.cs y #if! NETCOREAPP3_0 ... #endif
fuente
Recibí este error cuando puse 2 proyectos en el mismo directorio. Si tengo un directorio con una solución y pongo un directorio web y de datos por separado, se compila correctamente.
fuente
Si tiene este problema en Build Pipeline en Azure DevOps, intente colocar la Acción de compilación como "Contenido" y Copiar al directorio de salida igual a "Copiar si es más reciente" en las propiedades del archivo AssembyInfo.cs.
fuente
Creo que mi carpeta de la Biblioteca se corrompió por la creación accidental de otra biblioteca de clases. Eliminé la biblioteca y todos los archivos asociados, pero el problema persistió. Encontré una solución al eliminar TODAS las carpetas bin y obj en el directorio. La compilación estaba bien anteriormente, pero encontró una subcarpeta que tenía el mismo archivo assemblyinfo.cs.
fuente
Este problema es un conflicto de referencia que es principalmente peculiar de VS 2017.
Resolví este mismo error simplemente comentando las líneas 7 a 14, así como los códigos de versión de ensamblaje en la parte inferior de la página en AssemblyInfo.cs
Eliminó todas las referencias duplicadas y el proyecto pudo volver a construirse.
fuente