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 ?

21voto

Tejas Katakdhond Points 147

Il doit déjà y avoir un fichier AssemblyInfo.cs dans le projet ici : enter image description here

Pour résoudre : - Supprimez n'importe quel AssemblyInfo.cs

14voto

Alezis Points 367

J'ai rencontré le même problème lorsque j'ai essayé d'ajouter l'outil GitVersion pour mettre à jour ma version dans AssemblyInfo.cs. J'utilise VS2017 et un projet .NET Core. J'ai donc simplement mélangé les deux mondes. Mon AssemblyInfo.cs contient seulement l'information de version qui a été générée par l'outil GitVersion, mon csproj contient les choses restantes. Veuillez noter que je n'utilise pas <GenerateAssemblyInfo>false</GenerateAssemblyInfo> J'utilise uniquement les attributs liés à la version (voir ci-dessous). Plus de détails ici Propriétés de AssemblyInfo .

AssemblyInfo.cs

[assembly: AssemblyVersion("0.2.1.0")]
[assembly: AssemblyFileVersion("0.2.1.0")]
[assembly: AssemblyInformationalVersion("0.2.1+13.Branch.master.Sha.119c35af0f529e92e0f75a5e6d8373912d457818")]

mon.csproj contient tous les attributs liés aux autres attributs de l'assemblage :

<PropertyGroup>
   ...
  <Company>SOME Company </Company>
  <Authors>Some Authors</Authors>
  <Product>SOME Product</Product>
   ...
  <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
  <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
  <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
</PropertyGroup>

csproj maps to package tab at project properties

12voto

Nate Barbettini Points 26922

Dans mon cas, certains fichiers temporaires *.cs générés pendant la compilation ont été accidentellement ajoutés au projet.

Les fichiers provenaient du obj\Debug donc ils n'auraient certainement pas dû être ajoutés à la solution. A *.cs a été un peu fou et les a ajoutés de manière incorrecte.

La suppression de ces fichiers a réglé le problème.

6voto

Dwayne Love Points 73

Mon erreur s'est produite parce que, d'une manière ou d'une autre, un dossier obj a été créé dans le dossier de mes contrôleurs. Faites une recherche dans votre application pour trouver une ligne dans votre Assemblyinfo.cs. Il peut y avoir un doublon quelque part.

5voto

Christopher Scott Points 665

J'ai rencontré ce problème récemment, sans avoir modifié les sources, mais après avoir expérimenté de nouvelles références de projets. Je me suis retrouvé dans un état où cette erreur apparaissait même après avoir annulé tous les changements dans la branche.

Le nettoyage de la branche a résolu le problème pour moi :

git clean -xfd

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