2012-05-14 13 views
7

Ich habe kürzlich eine Reihe von Copyright-Informationen zu einer Reihe von C# -Projekten (dlls) über die Schaltfläche Eigenschaften-> Anwendung-> Baugruppeninformationen hinzugefügt. Ich habe mehrere solcher Projekte in einer einzigen Lösung. Bei der Zusammenstellung erhalte ich Fehlermeldung des Typs:Fehler bei Kompilierungszeit CS0579: Attribut 'AssemblyFileVersionAttribute' duplizieren

Fehler CS0579: Doppelte 'XXX' Attribut

wo 'XXX' ist der Name eines der Attribute I (zB AssemblyFileVersionAttribute) angegeben

googeln I festgestellt, dass durch die Verwendung im Fall einer Klasse, die von der Attribut-Klasse abgeleitet ist, können Duplikate zulässig:

[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true)] 
class NewAttribute : System.Attribute { } 

Aber in meinem Fall habe ich hinzugefügt, diese Attribute über die Eigenschaften-Dialog und haben Aussagen (in Assembl blyInfo.cs für jedes Projekt), wie zB:

[assembly: AssemblyCompanyAttribute("My Company")] 
[assembly: AssemblyProductAttribute("My Product")] 
[assembly: AssemblyCopyrightAttribute("© 2012 My Company, All Rights Reserved.")] 
[assembly: AssemblyVersionAttribute("13.0.0.0")] 
[assembly: AssemblyFileVersionAttribute("1.0.0.0")] 

und haben keine manuell Attributklassen abgeleitet ich keine Qualifikations anhängen.

Wie löse ich dieses doppelte Problem?

+4

Haben Sie in Ihrem Projekt eine globale Suche nach 'AssemblyFileVersion' durchgeführt? –

+1

Die 'AssemblyFileVersionAttribute' ist, wie Sie wissen, auf die gesamte Assembly ausgerichtet. Haben Sie also möglicherweise mehrere CS-Dateien (im selben Projekt), die das Attribut angeben? –

+0

Sie können das 'AttributUsageAttribute' sehen, das' AssemblyFileVersionAttribute' hier besitzt: [MSDN doc] (http://msdn.microsoft.com/en-us/library/system.reflection.assemblyfileversionattribute.aspx) –

Antwort

8

Ich glaube, Sie haben diese Attribute bereits in Assembly Information Fenster des Projekts Eigenschaften angegeben. Wenn Sie dies getan haben, entfernen Sie diese Attribute bitte aus Assembly Information.