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?
Haben Sie in Ihrem Projekt eine globale Suche nach 'AssemblyFileVersion' durchgeführt? –
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? –
Sie können das 'AttributUsageAttribute' sehen, das' AssemblyFileVersionAttribute' hier besitzt: [MSDN doc] (http://msdn.microsoft.com/en-us/library/system.reflection.assemblyfileversionattribute.aspx) –