309 votes

Attribut AssemblyVersion en double

J'ai un projet qui génère l'erreur suivante à la compilation :

erreur CS0579 : Duplication de l'attribut 'AssemblyVersion'.

J'ai vérifié le fichier AssemblyInfo.cs et il semble qu'il n'y ait pas de doublon.

J'ai trouvé cet article sur MSDN qui traite d'un problème similaire et en suivant la suggestion de cet article, le problème est également résolu.

Quelqu'un peut-il me dire ce qui se passe ici ? Est-ce que cela se produit seulement dans le cas où il y a deux ou plusieurs projets avec des classes ayant des noms similaires ? Ou bien s'agit-il d'autre chose ?

0voto

John Flurkey Points 1
obj\Debug\netstandard2.0\PacktLibrary.AssemblyInfo.cs(15,12): error CS0579: Duplicate 'System.Reflection.AssemblyConfigurationAttribute' attribute [c:\Users\John_Tosh1\Documents\C#8.0and.NetCore3.0\Code\Chapter05\PacktLibrary\PacktLibrary.csproj]
obj\Debug\netstandard2.0\PacktLibrary.AssemblyInfo.cs(16,12): error CS0579: Duplicate 'System.Reflection.AssemblyFileVersionAttribute' attribute [c:\Users\John_Tosh1\Documents\C#8.0and.NetCore3.0\Code\Chapter05\PacktLibrary\PacktLibrary.csproj]
obj\Debug\netstandard2.0\PacktLibrary.AssemblyInfo.cs(17,12): error CS0579: Duplicate 'System.Reflection.AssemblyInformationalVersionAttribute' attribute [c:\Users\John_Tosh1\Documents\C#8.0and.NetCore3.0\Code\Chapter05\PacktLibrary\PacktLibrary.csproj]
obj\Debug\netstandard2.0\PacktLibrary.AssemblyInfo.cs(18,12): error CS0579: Duplicate 'System.Reflection.AssemblyProductAttribute' attribute [c:\Users\John_Tosh1\Documents\C#8.0and.NetCore3.0\Code\Chapter05\PacktLibrary\PacktLibrary.csproj]
obj\Debug\netstandard2.0\PacktLibrary.AssemblyInfo.cs(19,12): error CS0579: Duplicate 'System.Reflection.AssemblyTitleAttribute' attribute [c:\Users\John_Tosh1\Documents\C#8.0and.NetCore3.0\Code\Chapter05\PacktLibrary\PacktLibrary.csproj]
obj\Debug\netstandard2.0\PacktLibrary.AssemblyInfo.cs(20,12): error CS0579: Duplicate 'System.Reflection.AssemblyVersionAttribute' attribute [c:\Users\John_Tosh1\Documents\C#8.0and.NetCore3.0\Code\Chapter05\PacktLibrary\PacktLibrary.csproj]

Je pense que mon dossier Library a été corrompu par la création par inadvertance d'une autre bibliothèque de classe. J'ai supprimé la bibliothèque et tous les fichiers associés mais le problème a persisté. J'ai trouvé une solution de contournement en supprimant TOUS les dossiers bin et obj du répertoire. La construction s'est bien déroulée auparavant mais j'ai trouvé un sous-dossier qui contenait le même fichier assemblyinfo.cs.

0voto

Adeakinwe Points 1

Ce problème est un conflit de référence qui est surtout propre à VS 2017.

J'ai résolu cette même erreur en commentant simplement les lignes 7 -14 ainsi que les codes de version de l'assemblage en bas de page sur AssemblyInfo.cs

Il a supprimé toutes les références en double et le projet a pu être reconstruit.

0voto

Sam Points 150

Je viens d'aider un membre de l'équipe à résoudre ce problème en renommant le dossier du repo et en re-clonant le repo. Ce n'était un problème que pour un seul développeur, car tous les autres membres de l'équipe ont pu construire maître sans rencontrer cette erreur, nous savions donc que le problème n'était pas lié à la source.

Nous avons essayé de supprimer les dossiers bin et obj et de faire un git clean -xfd mais aucune de ces solutions n'a résolu le problème. Le fait de repartir à zéro avec une copie propre du dépôt a fait l'affaire dans ce cas.

0voto

Ali Mahdian Points 11

J'ai aussi été confronté à ce problème. Dans mon cas, j'avais placé la solution et le projet au même endroit. J'avais donc un problème. Après avoir choisi un dossier pour la solution et placé le projet dans cette solution, cela a fonctionné correctement.

0voto

user169771 Points 66

Pour tous ceux qui rencontrent ce problème, j'ai fait un diagnostic pour une collègue de travail qui prétendait n'avoir rien changé, mais qui s'est avérée avoir accidentellement copié un dossier de code sans s'en rendre compte. C'était donc amusant de le découvrir.

Leçon : Supposez que tout le monde ment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X