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 ?

2voto

user3276657 Points 25

Dans mon cas, l'un de mes collègues avait supprimé une application console utilisée à des fins de test, qui avait été placée dans le même répertoire que notre Api, puis enregistrée dans Git. Lorsque j'ai ensuite fait un commit sur Git, l'application console elle-même avait bien sûr disparu, mais ses dossiers bin et obj étaient toujours là, ce qui fait que le fichier AssemblyInfo.cs était présent à la fois dans le répertoire de l'application racine et dans le sous-répertoire de l'ancienne application console. Il suffit de supprimer les dossiers bin et obj de l'ancienne application console pour résoudre le problème.

ASP.NET Core 3.1

1voto

Gary Henshall Points 72

J'ai trouvé cette réponse sur msdn, qui explique le marquage du fichier comme Contenu et ensuite Copier vers Sortie = Si plus récent. Voir l'article ci-dessous :

https://social.msdn.microsoft.com/Forums/en-US/8671bdff-9b16-4b49-ba9e-227cc4df31b2/compile-error-cs0579-duplicate-assemblyversion-attribute?forum=vsgatk

GH

1voto

Sourcephy Points 103

Editez votre AssemblyInfo.cs et #if !NETCOREAPP3_0 ... #endif

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.

#if !NETCOREAPP3_0  

[assembly: AssemblyTitle(".Net Core Testing")]
[assembly: AssemblyDescription(".Net Core")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct(".Net Core")]
[assembly: AssemblyCopyright("Copyright ©")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("000b119c-2445-4977-8604-d7a736003d34")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

#endif

1voto

J'ai obtenu cette erreur lorsque j'ai mis 2 projets dans le même répertoire. Si j'ai un répertoire avec une solution et que je place un répertoire séparé pour le Web et les données, la compilation est correcte.

1voto

Mark Entingh Points 96

J'ai eu ce problème lorsque mon projet principal était dans le même dossier que la solution, puis j'avais un projet séparé dans la même solution situé dans un sous-dossier, et ce projet séparé utilisait le projet principal comme référence. Le projet principal détectait alors les dossiers bin et obj du sous-dossier, ce qui créait des références en double.

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