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 ?

4voto

Mariusz.W Points 980

Pour moi, c'était que AssembyInfo.cs et SolutionInfo.cs avaient des valeurs différentes. Vérifiez donc aussi ces fichiers. Je viens de supprimer la version de l'un d'entre eux.

4voto

Lorsque vous créez un projet Visual Studio le configure pour qu'il compile et génère un fichier correspondant. montage . Chaque projet génère 1 assemblage, et donc chacun d'entre eux a un correspondant configuration de l'assemblage pour générer son assemblage.

Le problème est que lorsque vous créez plus d'un projet que chacun peut générer son propre assemblage et ensuite inclure l'un de ces projets dans l'autre .

Dans ce scénario, Visual Studio s'embrouille et ne sait pas à partir de quel fichier de configuration il doit générer l'assemblée unique pour le projet -- il trouve la deuxième configuration d'assemblage dans le inclus et dit "HEY, DUPLICATE ! Vous m'avez donné deux séries d'instructions pour générer mon assemblage !"

Mais parfois, vous voulez quand même inclus pour pouvoir générer un assemblage seul, mais pas lorsqu'il est inclus dans un autre projet.

Pour obtenir cela, une solution consiste à ajouter des définitions conditionnelles à l'option y compris (trouvé dans Propriétés du projet ). Ensuite, modifiez la configuration de l'assemblage dans le fichier inclus pour rechercher cette définition conditionnelle. S'il est défini (par le y compris ), alors la configuration peut sauter par-dessus son contenu -- cela aura pour résultat qu'une seule configuration sera trouvée par VS -- celle du projet y compris projet - problème résolu !

2voto

Thomas Koelle Points 65

Une autre solution lors de la mise à niveau du noyau vers VS2017 est de les supprimer dans les propriétés. \assemblyinfo.cs fichier.

Puisqu'ils sont maintenant stockés dans le projet.

2voto

William Points 27

Cela se produit généralement pour moi si j'ai compilé le projet dans Visual Studio 2017 & ensuite j'essaie de le reconstruire et de l'exécuter avec .NET Core avec la commande de ligne de commande "dotnet run".

En supprimant simplement tous les dossiers "bin" et "obj" - à la fois dans "ClientApp" et directement dans le dossier du projet - la commande .NET Core "dotnet run" a pu être reconstruite et exécutée avec succès.

2voto

Adithya Points 189

Vous pouvez supprimer bin y obj. et effacer le cache du projet. Mon problème a été résolu à partir de là.

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