Ostatnio dodałem kilka informacji o prawach autorskich do zestawu projektów C# (biblioteki DLL) za pomocą przycisku Właściwości-> Aplikacja-> Informacje o zespole. Mam kilka takich projektów w jednym rozwiązaniu. Po kompilacji dostaję komunikat o błędzie typu:Uzyskiwanie błędu czasu kompilacji CS0579: Zduplikowany atrybut "AssemblyFileVersionAttribute"
error CS0579: atrybut duplikat 'XXX'
gdzie 'XXX' to nazwa jednego z atrybutów I określonych (np AssemblyFileVersionAttribute)
Googling I stwierdzono, że w przypadku klasy, która pochodzi z klasy atrybutu, duplikaty mogą być dopuszczone przez zastosowanie:
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true)]
class NewAttribute : System.Attribute { }
Ale w moim przypadku, dodałem te atrybuty poprzez dialogowe właściwości i mają oświadczenia (w Assem blyInfo.cs dla każdego projektu), takie jak:
[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")]
i nie mają żadnych ręcznie pochodzące klas atrybutów można dołączyć do żadnych kwalifikatorów.
Jak rozwiązać ten duplikat problemu?
Czy wykonałeś globalne wyszukiwanie w projekcie dla 'AssemblyFileVersion'? –
"AssemblyFileVersionAttribute" odnosi się do całego zespołu, jak wiesz, więc może masz więcej niż jeden plik .cs (w tym samym projekcie), który określa atrybut? –
Możesz zobaczyć 'AttributeUsageAttribute', który posiada' AssemblyFileVersionAttribute' tutaj: [dokument MSDN] (http://msdn.microsoft.com/en-us/library/system.reflection.assemblyfileversionattribute.aspx) –